@memberjunction/ng-dashboards 5.34.1 → 5.35.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 (346) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +75 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +400 -89
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +990 -992
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  40. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  41. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  44. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  45. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/models/model-management.component.js +370 -425
  47. package/dist/AI/components/models/model-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  49. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  51. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  52. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  53. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  55. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  57. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.js +403 -362
  59. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  60. package/dist/AI/components/tags/tags-resource.component.js +781 -783
  61. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  62. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  63. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  65. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  66. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  67. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  68. package/dist/Actions/components/actions-overview.component.js +79 -30
  69. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  70. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  71. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  72. package/dist/Actions/components/execution-monitoring.component.js +196 -142
  73. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  74. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  75. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  76. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  77. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  78. package/dist/Actions/components/explorer/index.d.ts +0 -1
  79. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  80. package/dist/Actions/components/explorer/index.js +0 -1
  81. package/dist/Actions/components/explorer/index.js.map +1 -1
  82. package/dist/Admin/admin-data-schema.component.js +32 -40
  83. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  84. package/dist/Admin/admin-dev-tools-resource.component.js +32 -40
  85. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  86. package/dist/Admin/admin-identity-access.component.js +32 -40
  87. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  88. package/dist/Admin/admin-monitoring.component.js +32 -40
  89. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  90. package/dist/ApplicationRoles/application-roles-resource.component.js +76 -82
  91. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  92. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  93. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  94. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  95. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  96. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  97. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  98. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  99. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  100. package/dist/Communication/communication-logs-resource.component.js +80 -99
  101. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  102. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  103. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  104. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  105. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  106. package/dist/Communication/communication-providers-resource.component.js +44 -45
  107. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  108. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  109. package/dist/Communication/communication-runs-resource.component.js +60 -58
  110. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  111. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  112. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  113. package/dist/Communication/communication-templates-resource.component.js +139 -162
  114. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  115. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  116. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  117. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  118. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  119. package/dist/Credentials/components/credentials-categories-resource.component.js +245 -266
  120. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  121. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  122. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  123. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  124. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  125. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  126. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  127. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  128. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  129. package/dist/Credentials/components/credentials-types-resource.component.js +294 -305
  130. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  131. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  132. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  133. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +21 -0
  134. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  135. package/dist/DatabaseDesigner/components/entity-list.component.js +147 -160
  136. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  137. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  138. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  139. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +19 -1
  140. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  141. package/dist/EntityAdmin/entity-admin-dashboard.component.js +20 -16
  142. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  143. package/dist/Home/home-dashboard.component.d.ts +6 -0
  144. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  145. package/dist/Home/home-dashboard.component.js +521 -485
  146. package/dist/Home/home-dashboard.component.js.map +1 -1
  147. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  148. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  149. package/dist/Integration/components/activity/activity.component.js +309 -318
  150. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  151. package/dist/Integration/components/connections/connections.component.js +866 -847
  152. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  153. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  154. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  155. package/dist/Integration/components/overview/overview.component.js +182 -163
  156. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  157. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  158. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  159. package/dist/Integration/components/pipelines/pipelines.component.js +610 -606
  160. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  161. package/dist/Integration/components/schedules/schedules.component.js +241 -241
  162. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  163. package/dist/Integration/integration.module.d.ts +1 -1
  164. package/dist/Integration/integration.module.d.ts.map +1 -1
  165. package/dist/Integration/integration.module.js +28 -1
  166. package/dist/Integration/integration.module.js.map +1 -1
  167. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +673 -674
  168. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  169. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  170. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  171. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +745 -703
  172. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  173. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  174. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  175. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  176. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  177. package/dist/Lists/components/lists-browse-resource.component.d.ts +18 -1
  178. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  179. package/dist/Lists/components/lists-browse-resource.component.js +486 -532
  180. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  181. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  182. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  183. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  184. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  185. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  186. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  187. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  188. package/dist/Lists/components/lists-operations-resource.component.js +234 -246
  189. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  190. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  191. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  192. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  193. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  194. package/dist/MCP/mcp.module.d.ts +1 -1
  195. package/dist/MCP/mcp.module.d.ts.map +1 -1
  196. package/dist/MCP/mcp.module.js +34 -1
  197. package/dist/MCP/mcp.module.js.map +1 -1
  198. package/dist/Permissions/audit-log-resource.component.js +76 -85
  199. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  200. package/dist/Permissions/resource-access-resource.component.js +64 -69
  201. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  202. package/dist/Permissions/user-access-resource.component.js +63 -74
  203. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  204. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  205. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  206. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  210. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  212. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  213. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  214. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  218. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  220. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  221. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  222. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  226. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  228. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  229. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  230. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  232. package/dist/Scheduling/scheduling-dashboard.component.js +262 -104
  233. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  234. package/dist/SystemDiagnostics/system-diagnostics.component.js +773 -783
  235. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  236. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  237. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  238. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  239. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  240. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  241. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  242. package/dist/Testing/components/testing-analytics.component.js +420 -393
  243. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  244. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  245. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  246. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  247. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  248. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  249. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  250. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  251. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  252. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  253. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  254. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  255. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  256. package/dist/Testing/components/testing-explorer.component.d.ts +8 -1
  257. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  258. package/dist/Testing/components/testing-explorer.component.js +587 -608
  259. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  260. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  261. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  262. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  263. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  264. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  265. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  266. package/dist/Testing/components/testing-review.component.js +310 -274
  267. package/dist/Testing/components/testing-review.component.js.map +1 -1
  268. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  269. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  270. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  271. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  272. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  273. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  274. package/dist/Testing/components/testing-runs.component.js +307 -273
  275. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  276. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  277. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  278. package/dist/Testing/testing-dashboard.component.js +107 -93
  279. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  280. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  281. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  282. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  283. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  284. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  285. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  286. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  287. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  288. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  289. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  290. package/dist/actions-dashboards.module.d.ts +15 -16
  291. package/dist/actions-dashboards.module.d.ts.map +1 -1
  292. package/dist/actions-dashboards.module.js +34 -11
  293. package/dist/actions-dashboards.module.js.map +1 -1
  294. package/dist/ai-dashboards.module.d.ts +45 -48
  295. package/dist/ai-dashboards.module.d.ts.map +1 -1
  296. package/dist/ai-dashboards.module.js +36 -10
  297. package/dist/ai-dashboards.module.js.map +1 -1
  298. package/dist/archiving-dashboards.module.d.ts +2 -1
  299. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  300. package/dist/archiving-dashboards.module.js +12 -2
  301. package/dist/archiving-dashboards.module.js.map +1 -1
  302. package/dist/communication-dashboards.module.d.ts +2 -1
  303. package/dist/communication-dashboards.module.d.ts.map +1 -1
  304. package/dist/communication-dashboards.module.js +24 -3
  305. package/dist/communication-dashboards.module.js.map +1 -1
  306. package/dist/core-dashboards.module.d.ts +1 -1
  307. package/dist/core-dashboards.module.d.ts.map +1 -1
  308. package/dist/core-dashboards.module.js +31 -1
  309. package/dist/core-dashboards.module.js.map +1 -1
  310. package/dist/credentials-dashboards.module.d.ts +1 -1
  311. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  312. package/dist/credentials-dashboards.module.js +28 -1
  313. package/dist/credentials-dashboards.module.js.map +1 -1
  314. package/dist/lists-dashboards.module.d.ts +1 -1
  315. package/dist/lists-dashboards.module.d.ts.map +1 -1
  316. package/dist/lists-dashboards.module.js +28 -1
  317. package/dist/lists-dashboards.module.js.map +1 -1
  318. package/dist/public-api.d.ts +2 -2
  319. package/dist/public-api.d.ts.map +1 -1
  320. package/dist/public-api.js +3 -3
  321. package/dist/public-api.js.map +1 -1
  322. package/dist/scheduling-dashboards.module.d.ts +1 -1
  323. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  324. package/dist/scheduling-dashboards.module.js +31 -1
  325. package/dist/scheduling-dashboards.module.js.map +1 -1
  326. package/dist/testing-dashboards.module.d.ts +8 -7
  327. package/dist/testing-dashboards.module.d.ts.map +1 -1
  328. package/dist/testing-dashboards.module.js +30 -0
  329. package/dist/testing-dashboards.module.js.map +1 -1
  330. package/package.json +52 -52
  331. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  332. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  333. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  334. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  335. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  336. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  337. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  338. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  339. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  340. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  341. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  342. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  343. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  344. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  345. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  346. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling-jobs.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-jobs.component.ts","../../../src/Scheduling/components/scheduling-jobs.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Subscription, BehaviorSubject, Subject, combineLatest } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { CompositeKey } from '@memberjunction/core';\nimport { UserInfoEngine } from '@memberjunction/core-entities';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport {\n SchedulingInstrumentationService,\n JobStatistics,\n JobTypeStatistics\n} from '../services/scheduling-instrumentation.service';\n\n@Component({\n standalone: false,\n selector: 'app-scheduling-jobs',\n templateUrl: './scheduling-jobs.component.html',\n styleUrls: ['./scheduling-jobs.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SchedulingJobsComponent implements OnInit, OnDestroy {\n @Input() initialState: Record<string, unknown> = {};\n @Output() stateChange = new EventEmitter<Record<string, unknown>>();\n\n public Jobs: JobStatistics[] = [];\n public FilteredJobs: JobStatistics[] = [];\n public JobTypes: JobTypeStatistics[] = [];\n public IsLoading = true;\n\n // Slideout state\n public SlideoutOpen = false;\n public SelectedJob: JobStatistics | null = null;\n\n // Delete confirmation state\n public DeleteConfirmJobId: string | null = null;\n public IsDeleting = false;\n\n // Filters\n public SearchTerm = '';\n public StatusFilter = '';\n public TypeFilter = '';\n\n public StatusOptions = ['', 'Active', 'Paused', 'Disabled', 'Pending', 'Expired'];\n public TypeOptions: string[] = [''];\n\n // Settings keys\n private static readonly SEARCH_STATE_KEY = 'Scheduling.JobsSearchState';\n\n private searchSubject = new BehaviorSubject<string>('');\n private statusSubject = new BehaviorSubject<string>('');\n private typeSubject = new BehaviorSubject<string>('');\n private settingsPersistSubject = new Subject<void>();\n private destroy$ = new Subject<void>();\n private subscriptions: Subscription[] = [];\n private settingsLoaded = false;\n\n constructor(\n private schedulingService: SchedulingInstrumentationService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.loadUserSettings();\n this.restoreState();\n this.setupFilters();\n this.setupSettingsPersistence();\n\n this.subscriptions.push(\n this.schedulingService.jobStatistics$.subscribe(jobs => {\n this.Jobs = jobs;\n this.IsLoading = false;\n this.updateTypeOptions();\n this.applyFilters();\n this.cdr.markForCheck();\n }),\n this.schedulingService.jobTypes$.subscribe(types => {\n this.JobTypes = types;\n this.cdr.markForCheck();\n })\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n private loadUserSettings(): void {\n try {\n const stateStr = UserInfoEngine.Instance.GetSetting(SchedulingJobsComponent.SEARCH_STATE_KEY);\n if (stateStr) {\n const state = JSON.parse(stateStr) as Record<string, string>;\n if (state.searchTerm) this.SearchTerm = state.searchTerm;\n if (state.statusFilter) this.StatusFilter = state.statusFilter;\n if (state.typeFilter) this.TypeFilter = state.typeFilter;\n }\n } catch (error) {\n console.warn('[SchedulingJobs] Failed to load user settings:', error);\n } finally {\n this.settingsLoaded = true;\n }\n }\n\n private setupSettingsPersistence(): void {\n this.settingsPersistSubject.pipe(\n debounceTime(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.persistSearchState();\n });\n }\n\n private persistSearchState(): void {\n if (!this.settingsLoaded) return;\n try {\n const state = {\n searchTerm: this.SearchTerm,\n statusFilter: this.StatusFilter,\n typeFilter: this.TypeFilter\n };\n UserInfoEngine.Instance.SetSettingDebounced(\n SchedulingJobsComponent.SEARCH_STATE_KEY,\n JSON.stringify(state)\n );\n } catch (error) {\n console.warn('[SchedulingJobs] Failed to persist search state:', error);\n }\n }\n\n private restoreState(): void {\n if (this.initialState) {\n if (this.initialState['searchTerm']) this.SearchTerm = this.initialState['searchTerm'] as string;\n if (this.initialState['statusFilter']) this.StatusFilter = this.initialState['statusFilter'] as string;\n if (this.initialState['typeFilter']) this.TypeFilter = this.initialState['typeFilter'] as string;\n }\n }\n\n private setupFilters(): void {\n this.subscriptions.push(\n combineLatest([\n this.searchSubject.pipe(debounceTime(300), distinctUntilChanged()),\n this.statusSubject.pipe(distinctUntilChanged()),\n this.typeSubject.pipe(distinctUntilChanged())\n ]).subscribe(() => {\n this.applyFilters();\n this.emitState();\n this.cdr.markForCheck();\n })\n );\n\n this.searchSubject.next(this.SearchTerm);\n this.statusSubject.next(this.StatusFilter);\n this.typeSubject.next(this.TypeFilter);\n }\n\n public OnSearchChange(term: string): void {\n this.SearchTerm = term;\n this.searchSubject.next(term);\n }\n\n public OnStatusFilterChange(status: string): void {\n this.StatusFilter = status;\n this.statusSubject.next(status);\n }\n\n public OnTypeFilterChange(type: string): void {\n this.TypeFilter = type;\n this.typeSubject.next(type);\n }\n\n public Refresh(): void {\n this.schedulingService.refresh();\n }\n\n public OpenCreateSlideout(): void {\n this.SelectedJob = null;\n this.SlideoutOpen = true;\n this.cdr.markForCheck();\n }\n\n public OpenEditSlideout(job: JobStatistics): void {\n this.SelectedJob = job;\n this.SlideoutOpen = true;\n this.cdr.markForCheck();\n }\n\n public CloseSlideout(): void {\n this.SlideoutOpen = false;\n this.SelectedJob = null;\n this.cdr.markForCheck();\n }\n\n public OnSlideoutSaved(): void {\n this.CloseSlideout();\n this.schedulingService.refresh();\n }\n\n public async ToggleJobStatus(job: JobStatistics, event: MouseEvent): Promise<void> {\n event.stopPropagation();\n const newStatus = job.status === 'Active' ? 'Paused' : 'Active';\n await this.schedulingService.updateJobStatus(job.jobId, newStatus as 'Active' | 'Paused');\n }\n\n public ShowDeleteConfirm(job: JobStatistics, event: MouseEvent): void {\n event.stopPropagation();\n this.DeleteConfirmJobId = job.jobId;\n this.cdr.markForCheck();\n }\n\n public CancelDelete(event: MouseEvent): void {\n event.stopPropagation();\n this.DeleteConfirmJobId = null;\n this.cdr.markForCheck();\n }\n\n public async ConfirmDelete(jobId: string, event: MouseEvent): Promise<void> {\n event.stopPropagation();\n this.IsDeleting = true;\n this.cdr.markForCheck();\n try {\n const result = await this.schedulingService.deleteJob(jobId);\n if (result) {\n this.DeleteConfirmJobId = null;\n }\n } catch (err) {\n console.error('[SchedulingJobs] Delete error:', err);\n } finally {\n this.IsDeleting = false;\n this.cdr.markForCheck();\n }\n }\n\n public IsDeleteConfirming(jobId: string): boolean {\n return this.DeleteConfirmJobId === jobId;\n }\n\n public OpenEntityRecord(job: JobStatistics): void {\n const compositeKey = new CompositeKey();\n compositeKey.LoadFromSingleKeyValuePair('ID', job.jobId);\n SharedService.Instance.OpenEntityRecord('MJ: Scheduled Jobs', compositeKey);\n }\n\n public GetStatusClass(status: string): string {\n switch (status) {\n case 'Active': return 'status-active';\n case 'Paused': return 'status-paused';\n case 'Disabled': return 'status-disabled';\n case 'Pending': return 'status-pending';\n case 'Expired': return 'status-expired';\n default: return '';\n }\n }\n\n public GetSuccessRateColor(rate: number): string {\n if (rate >= 0.9) return '#10b981';\n if (rate >= 0.7) return '#f59e0b';\n return '#ef4444';\n }\n\n public GetTypeIcon(typeName: string): string {\n const lower = typeName.toLowerCase();\n if (lower.includes('agent')) return 'fa-solid fa-robot';\n if (lower.includes('action')) return 'fa-solid fa-bolt';\n return 'fa-solid fa-gear';\n }\n\n public FormatDate(date: Date | undefined): string {\n if (!date) return '-';\n return date.toLocaleString(undefined, {\n month: 'numeric', day: 'numeric', year: '2-digit',\n hour: 'numeric', minute: '2-digit', hour12: true\n });\n }\n\n public FormatPercentage(value: number): string {\n return `${(value * 100).toFixed(1)}%`;\n }\n\n private applyFilters(): void {\n let filtered = [...this.Jobs];\n\n if (this.SearchTerm) {\n const term = this.SearchTerm.toLowerCase();\n filtered = filtered.filter(j =>\n j.jobName.toLowerCase().includes(term) ||\n j.jobType.toLowerCase().includes(term) ||\n (j.description && j.description.toLowerCase().includes(term))\n );\n }\n\n if (this.StatusFilter) {\n filtered = filtered.filter(j => j.status === this.StatusFilter);\n }\n\n if (this.TypeFilter) {\n filtered = filtered.filter(j => j.jobType === this.TypeFilter);\n }\n\n this.FilteredJobs = filtered;\n }\n\n private updateTypeOptions(): void {\n const types = new Set(this.Jobs.map(j => j.jobType));\n this.TypeOptions = ['', ...Array.from(types).sort()];\n }\n\n private emitState(): void {\n this.stateChange.emit({\n searchTerm: this.SearchTerm,\n statusFilter: this.StatusFilter,\n typeFilter: this.TypeFilter\n });\n this.settingsPersistSubject.next();\n }\n}\n","<div class=\"jobs-container\">\n <!-- Toolbar -->\n <div class=\"jobs-toolbar\">\n <div class=\"toolbar-left\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input type=\"text\"\n placeholder=\"Search jobs...\"\n [value]=\"SearchTerm\"\n (input)=\"OnSearchChange($any($event.target).value)\" />\n </div>\n <select class=\"filter-select\" [value]=\"StatusFilter\" (change)=\"OnStatusFilterChange($any($event.target).value)\">\n <option value=\"\">All Statuses</option>\n @for (s of StatusOptions.slice(1); track s) {\n <option [value]=\"s\">{{s}}</option>\n }\n </select>\n <select class=\"filter-select\" [value]=\"TypeFilter\" (change)=\"OnTypeFilterChange($any($event.target).value)\">\n <option value=\"\">All Types</option>\n @for (t of TypeOptions.slice(1); track t) {\n <option [value]=\"t\">{{t}}</option>\n }\n </select>\n </div>\n <div class=\"toolbar-right\">\n <span class=\"result-count\">{{FilteredJobs.length}} of {{Jobs.length}} jobs</span>\n <button mjButton variant=\"secondary\" (click)=\"Refresh()\">\n <i class=\"fa-solid fa-arrows-rotate\"></i> Refresh\n </button>\n <button class=\"primary-btn\" (click)=\"OpenCreateSlideout()\">\n <i class=\"fa-solid fa-plus\"></i> New Job\n </button>\n </div>\n </div>\n\n <!-- Loading -->\n @if (IsLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading jobs...\" size=\"medium\"></mj-loading>\n </div>\n }\n\n <!-- Empty State -->\n @if (!IsLoading && FilteredJobs.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-calendar-xmark\"></i>\n </div>\n <h3>No jobs found</h3>\n @if (SearchTerm || StatusFilter || TypeFilter) {\n <p>Try adjusting your filters</p>\n }\n @if (!SearchTerm && !StatusFilter && !TypeFilter) {\n <p>Create your first scheduled job to get started</p>\n }\n @if (!SearchTerm && !StatusFilter && !TypeFilter) {\n <button class=\"primary-btn\" (click)=\"OpenCreateSlideout()\">\n <i class=\"fa-solid fa-plus\"></i> Create Job\n </button>\n }\n </div>\n }\n\n <!-- Job Cards Grid -->\n @if (!IsLoading && FilteredJobs.length > 0) {\n <div class=\"jobs-grid\">\n @for (job of FilteredJobs; track job) {\n <div\n class=\"job-card\"\n (click)=\"OpenEditSlideout(job)\">\n <!-- Card Header -->\n <div class=\"job-card-header\">\n <div class=\"job-card-title\">\n <i [class]=\"GetTypeIcon(job.jobType)\" class=\"type-icon\"></i>\n <span class=\"job-name\">{{job.jobName}}</span>\n </div>\n <span class=\"status-chip\" [ngClass]=\"GetStatusClass(job.status)\">{{job.status}}</span>\n </div>\n <!-- Card Body -->\n <div class=\"job-card-body\">\n @if (job.description) {\n <div class=\"job-description\">{{job.description}}</div>\n }\n <div class=\"job-meta-grid\">\n <div class=\"meta-item\">\n <span class=\"meta-label\">Type</span>\n <span class=\"meta-value\">{{job.jobType}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Schedule</span>\n <span class=\"meta-value mono\">{{job.cronExpression}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Last Run</span>\n <span class=\"meta-value\">{{FormatDate(job.lastRunAt)}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Next Run</span>\n <span class=\"meta-value\">{{FormatDate(job.nextRunAt)}}</span>\n </div>\n </div>\n <!-- Success Rate Bar -->\n <div class=\"success-section\">\n <div class=\"success-header\">\n <span class=\"success-label\">Success Rate</span>\n <span class=\"success-value\" [style.color]=\"GetSuccessRateColor(job.successRate)\">\n {{FormatPercentage(job.successRate)}}\n </span>\n </div>\n <div class=\"success-bar-track\">\n <div class=\"success-bar-fill\"\n [style.width]=\"(job.successRate * 100) + '%'\"\n [style.background]=\"GetSuccessRateColor(job.successRate)\">\n </div>\n </div>\n <div class=\"run-stats\">\n <span class=\"stat-success\"><i class=\"fa-solid fa-check\"></i> {{job.successCount}}</span>\n <span class=\"stat-failure\"><i class=\"fa-solid fa-xmark\"></i> {{job.failureCount}}</span>\n <span class=\"stat-total\">{{job.totalRuns}} total</span>\n </div>\n </div>\n </div>\n <!-- Delete confirmation overlay -->\n @if (IsDeleteConfirming(job.jobId)) {\n <div class=\"delete-confirm-overlay\" (click)=\"$event.stopPropagation()\">\n <div class=\"delete-confirm-content\">\n <i class=\"fa-solid fa-triangle-exclamation delete-warn-icon\"></i>\n <span class=\"delete-confirm-text\">Delete this scheduled job?</span>\n <div class=\"delete-confirm-actions\">\n <button class=\"delete-confirm-btn\" [disabled]=\"IsDeleting\" (click)=\"ConfirmDelete(job.jobId, $event)\">\n @if (IsDeleting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Deleting...\n } @else {\n Delete\n }\n </button>\n <button class=\"delete-cancel-btn\" (click)=\"CancelDelete($event)\">Cancel</button>\n </div>\n </div>\n </div>\n }\n <!-- Card Footer -->\n <div class=\"job-card-footer\">\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"ToggleJobStatus(job, $event)\">\n <i [class]=\"job.status === 'Active' ? 'fa-solid fa-pause' : 'fa-solid fa-play'\"></i>\n {{job.status === 'Active' ? 'Pause' : 'Resume'}}\n </button>\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"OpenEntityRecord(job); $event.stopPropagation()\">\n <i class=\"fa-solid fa-up-right-from-square\"></i>\n Full Details\n </button>\n <button mjButton variant=\"danger\" size=\"sm\" (click)=\"ShowDeleteConfirm(job, $event)\">\n <i class=\"fa-solid fa-trash-can\"></i>\n Delete\n </button>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Slideout Panel -->\n <mj-scheduled-job-slide-panel\n [IsOpen]=\"SlideoutOpen\"\n [ScheduledJobID]=\"SelectedJob?.jobId ?? null\"\n (Close)=\"CloseSlideout()\"\n (Saved)=\"OnSlideoutSaved()\"\n (Deleted)=\"OnSlideoutSaved()\">\n </mj-scheduled-job-slide-panel>\n</div>\n"]}
1
+ {"version":3,"file":"scheduling-jobs.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-jobs.component.ts","../../../src/Scheduling/components/scheduling-jobs.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit, OnDestroy, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';\nimport { Subscription, BehaviorSubject, Subject, combineLatest } from 'rxjs';\nimport { debounceTime, distinctUntilChanged, takeUntil } from 'rxjs/operators';\nimport { CompositeKey } from '@memberjunction/core';\nimport { UserInfoEngine } from '@memberjunction/core-entities';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { FilterFieldConfig } from '@memberjunction/ng-ui-components';\nimport {\n SchedulingInstrumentationService,\n JobStatistics,\n JobTypeStatistics\n} from '../services/scheduling-instrumentation.service';\n\n@Component({\n standalone: false,\n selector: 'app-scheduling-jobs',\n templateUrl: './scheduling-jobs.component.html',\n styleUrls: ['./scheduling-jobs.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class SchedulingJobsComponent implements OnInit, OnDestroy {\n @Input() initialState: Record<string, unknown> = {};\n /** When true, the inner toolbar is hidden — the parent shell is rendering it in `<mj-page-header>` instead. */\n @Input() HideToolbar = false;\n @Output() stateChange = new EventEmitter<Record<string, unknown>>();\n\n public Jobs: JobStatistics[] = [];\n public FilteredJobs: JobStatistics[] = [];\n public JobTypes: JobTypeStatistics[] = [];\n public IsLoading = true;\n\n // Slideout state\n public SlideoutOpen = false;\n public SelectedJob: JobStatistics | null = null;\n\n // Delete confirmation state\n public DeleteConfirmJobId: string | null = null;\n public IsDeleting = false;\n\n // Filters\n public SearchTerm = '';\n public StatusFilter = '';\n public TypeFilter = '';\n\n public StatusOptions = ['', 'Active', 'Paused', 'Disabled', 'Pending', 'Expired'];\n public TypeOptions: string[] = [''];\n\n // Settings keys\n private static readonly SEARCH_STATE_KEY = 'Scheduling.JobsSearchState';\n\n private searchSubject = new BehaviorSubject<string>('');\n private statusSubject = new BehaviorSubject<string>('');\n private typeSubject = new BehaviorSubject<string>('');\n private settingsPersistSubject = new Subject<void>();\n private destroy$ = new Subject<void>();\n private subscriptions: Subscription[] = [];\n private settingsLoaded = false;\n\n constructor(\n private schedulingService: SchedulingInstrumentationService,\n private cdr: ChangeDetectorRef\n ) {}\n\n ngOnInit(): void {\n this.loadUserSettings();\n this.restoreState();\n this.setupFilters();\n this.setupSettingsPersistence();\n\n this.subscriptions.push(\n this.schedulingService.jobStatistics$.subscribe(jobs => {\n this.Jobs = jobs;\n this.IsLoading = false;\n this.updateTypeOptions();\n this.applyFilters();\n this.cdr.markForCheck();\n }),\n this.schedulingService.jobTypes$.subscribe(types => {\n this.JobTypes = types;\n this.cdr.markForCheck();\n })\n );\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n this.subscriptions.forEach(s => s.unsubscribe());\n }\n\n private loadUserSettings(): void {\n try {\n const stateStr = UserInfoEngine.Instance.GetSetting(SchedulingJobsComponent.SEARCH_STATE_KEY);\n if (stateStr) {\n const state = JSON.parse(stateStr) as Record<string, string>;\n if (state.searchTerm) this.SearchTerm = state.searchTerm;\n if (state.statusFilter) this.StatusFilter = state.statusFilter;\n if (state.typeFilter) this.TypeFilter = state.typeFilter;\n }\n } catch (error) {\n console.warn('[SchedulingJobs] Failed to load user settings:', error);\n } finally {\n this.settingsLoaded = true;\n }\n }\n\n private setupSettingsPersistence(): void {\n this.settingsPersistSubject.pipe(\n debounceTime(500),\n takeUntil(this.destroy$)\n ).subscribe(() => {\n this.persistSearchState();\n });\n }\n\n private persistSearchState(): void {\n if (!this.settingsLoaded) return;\n try {\n const state = {\n searchTerm: this.SearchTerm,\n statusFilter: this.StatusFilter,\n typeFilter: this.TypeFilter\n };\n UserInfoEngine.Instance.SetSettingDebounced(\n SchedulingJobsComponent.SEARCH_STATE_KEY,\n JSON.stringify(state)\n );\n } catch (error) {\n console.warn('[SchedulingJobs] Failed to persist search state:', error);\n }\n }\n\n private restoreState(): void {\n if (this.initialState) {\n if (this.initialState['searchTerm']) this.SearchTerm = this.initialState['searchTerm'] as string;\n if (this.initialState['statusFilter']) this.StatusFilter = this.initialState['statusFilter'] as string;\n if (this.initialState['typeFilter']) this.TypeFilter = this.initialState['typeFilter'] as string;\n }\n }\n\n private setupFilters(): void {\n this.subscriptions.push(\n combineLatest([\n this.searchSubject.pipe(debounceTime(300), distinctUntilChanged()),\n this.statusSubject.pipe(distinctUntilChanged()),\n this.typeSubject.pipe(distinctUntilChanged())\n ]).subscribe(() => {\n this.applyFilters();\n this.emitState();\n this.cdr.markForCheck();\n })\n );\n\n this.searchSubject.next(this.SearchTerm);\n this.statusSubject.next(this.StatusFilter);\n this.typeSubject.next(this.TypeFilter);\n }\n\n public OnSearchChange(term: string): void {\n this.SearchTerm = term;\n this.searchSubject.next(term);\n }\n\n public OnStatusFilterChange(status: string): void {\n this.StatusFilter = status;\n this.statusSubject.next(status);\n }\n\n public OnTypeFilterChange(type: string): void {\n this.TypeFilter = type;\n this.typeSubject.next(type);\n }\n\n public get JobsFilterFields(): FilterFieldConfig[] {\n const statusOptions = this.StatusOptions.map(s => ({\n text: s === '' ? 'All Statuses' : s,\n value: s\n }));\n const typeOptions = this.TypeOptions.map(t => ({\n text: t === '' ? 'All Types' : t,\n value: t\n }));\n return [\n {\n key: 'statusFilter',\n type: 'dropdown',\n label: 'Status',\n icon: 'fa-solid fa-circle-info',\n placeholder: 'All Statuses',\n options: statusOptions\n },\n {\n key: 'typeFilter',\n type: 'dropdown',\n label: 'Type',\n icon: 'fa-solid fa-shapes',\n placeholder: 'All Types',\n options: typeOptions\n }\n ];\n }\n\n public get JobsFilterValues(): Record<string, unknown> {\n return {\n statusFilter: this.StatusFilter,\n typeFilter: this.TypeFilter\n };\n }\n\n public get ActiveFilterCount(): number {\n let count = 0;\n if (this.StatusFilter) count++;\n if (this.TypeFilter) count++;\n return count;\n }\n\n public OnFilterValuesChange(values: Record<string, unknown>): void {\n const next = (values ?? {}) as { statusFilter?: string; typeFilter?: string };\n if ((next.statusFilter ?? '') !== this.StatusFilter) {\n this.OnStatusFilterChange(next.statusFilter ?? '');\n }\n if ((next.typeFilter ?? '') !== this.TypeFilter) {\n this.OnTypeFilterChange(next.typeFilter ?? '');\n }\n }\n\n public ResetFilters(): void {\n if (this.StatusFilter) this.OnStatusFilterChange('');\n if (this.TypeFilter) this.OnTypeFilterChange('');\n }\n\n public Refresh(): void {\n this.schedulingService.refresh();\n }\n\n public OpenCreateSlideout(): void {\n this.SelectedJob = null;\n this.SlideoutOpen = true;\n this.cdr.markForCheck();\n }\n\n public OpenEditSlideout(job: JobStatistics): void {\n this.SelectedJob = job;\n this.SlideoutOpen = true;\n this.cdr.markForCheck();\n }\n\n public CloseSlideout(): void {\n this.SlideoutOpen = false;\n this.SelectedJob = null;\n this.cdr.markForCheck();\n }\n\n public OnSlideoutSaved(): void {\n this.CloseSlideout();\n this.schedulingService.refresh();\n }\n\n public async ToggleJobStatus(job: JobStatistics, event: MouseEvent): Promise<void> {\n event.stopPropagation();\n const newStatus = job.status === 'Active' ? 'Paused' : 'Active';\n await this.schedulingService.updateJobStatus(job.jobId, newStatus as 'Active' | 'Paused');\n }\n\n public ShowDeleteConfirm(job: JobStatistics, event: MouseEvent): void {\n event.stopPropagation();\n this.DeleteConfirmJobId = job.jobId;\n this.cdr.markForCheck();\n }\n\n public CancelDelete(event: MouseEvent): void {\n event.stopPropagation();\n this.DeleteConfirmJobId = null;\n this.cdr.markForCheck();\n }\n\n public async ConfirmDelete(jobId: string, event: MouseEvent): Promise<void> {\n event.stopPropagation();\n this.IsDeleting = true;\n this.cdr.markForCheck();\n try {\n const result = await this.schedulingService.deleteJob(jobId);\n if (result) {\n this.DeleteConfirmJobId = null;\n }\n } catch (err) {\n console.error('[SchedulingJobs] Delete error:', err);\n } finally {\n this.IsDeleting = false;\n this.cdr.markForCheck();\n }\n }\n\n public IsDeleteConfirming(jobId: string): boolean {\n return this.DeleteConfirmJobId === jobId;\n }\n\n public OpenEntityRecord(job: JobStatistics): void {\n const compositeKey = new CompositeKey();\n compositeKey.LoadFromSingleKeyValuePair('ID', job.jobId);\n SharedService.Instance.OpenEntityRecord('MJ: Scheduled Jobs', compositeKey);\n }\n\n public GetStatusClass(status: string): string {\n switch (status) {\n case 'Active': return 'status-active';\n case 'Paused': return 'status-paused';\n case 'Disabled': return 'status-disabled';\n case 'Pending': return 'status-pending';\n case 'Expired': return 'status-expired';\n default: return '';\n }\n }\n\n public GetSuccessRateColor(rate: number): string {\n if (rate >= 0.9) return '#10b981';\n if (rate >= 0.7) return '#f59e0b';\n return '#ef4444';\n }\n\n public GetTypeIcon(typeName: string): string {\n const lower = typeName.toLowerCase();\n if (lower.includes('agent')) return 'fa-solid fa-robot';\n if (lower.includes('action')) return 'fa-solid fa-bolt';\n return 'fa-solid fa-gear';\n }\n\n public FormatDate(date: Date | undefined): string {\n if (!date) return '-';\n return date.toLocaleString(undefined, {\n month: 'numeric', day: 'numeric', year: '2-digit',\n hour: 'numeric', minute: '2-digit', hour12: true\n });\n }\n\n public FormatPercentage(value: number): string {\n return `${(value * 100).toFixed(1)}%`;\n }\n\n private applyFilters(): void {\n let filtered = [...this.Jobs];\n\n if (this.SearchTerm) {\n const term = this.SearchTerm.toLowerCase();\n filtered = filtered.filter(j =>\n j.jobName.toLowerCase().includes(term) ||\n j.jobType.toLowerCase().includes(term) ||\n (j.description && j.description.toLowerCase().includes(term))\n );\n }\n\n if (this.StatusFilter) {\n filtered = filtered.filter(j => j.status === this.StatusFilter);\n }\n\n if (this.TypeFilter) {\n filtered = filtered.filter(j => j.jobType === this.TypeFilter);\n }\n\n this.FilteredJobs = filtered;\n }\n\n private updateTypeOptions(): void {\n const types = new Set(this.Jobs.map(j => j.jobType));\n this.TypeOptions = ['', ...Array.from(types).sort()];\n }\n\n private emitState(): void {\n this.stateChange.emit({\n searchTerm: this.SearchTerm,\n statusFilter: this.StatusFilter,\n typeFilter: this.TypeFilter\n });\n this.settingsPersistSubject.next();\n }\n}\n","@if (HideToolbar) {\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n} @else {\n <mj-page-layout>\n <mj-page-header\n Title=\"Scheduled Jobs\"\n Icon=\"fa-solid fa-calendar-check\"\n Subtitle=\"Configure and manage scheduled jobs\">\n <div meta>\n <mj-stat-badge [Count]=\"FilteredJobs.length\" [Total]=\"Jobs.length\" Label=\"jobs\"></mj-stat-badge>\n </div>\n <div actions>\n <mj-filter-popover\n [ActiveCount]=\"ActiveFilterCount\"\n [ShowClearAll]=\"ActiveFilterCount > 0\"\n (ClearAllRequested)=\"ResetFilters()\">\n <mj-filter-panel\n [Fields]=\"JobsFilterFields\"\n [Values]=\"JobsFilterValues\"\n (ValuesChange)=\"OnFilterValuesChange($event)\"\n (Reset)=\"ResetFilters()\">\n </mj-filter-panel>\n </mj-filter-popover>\n <mj-refresh-button (Clicked)=\"Refresh()\"></mj-refresh-button>\n <button mjButton variant=\"primary\" size=\"sm\" (click)=\"OpenCreateSlideout()\">\n <i class=\"fa-solid fa-plus\"></i> New Job\n </button>\n </div>\n <div toolbar>\n <mj-page-search\n Placeholder=\"Search jobs...\"\n [Value]=\"SearchTerm\"\n (ValueChange)=\"OnSearchChange($event)\">\n </mj-page-search>\n </div>\n </mj-page-header>\n <mj-page-body>\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </mj-page-body>\n </mj-page-layout>\n}\n\n<ng-template #content>\n<div class=\"jobs-container\">\n\n <!-- Loading -->\n @if (IsLoading) {\n <div class=\"loading-container\">\n <mj-loading text=\"Loading jobs...\" size=\"medium\"></mj-loading>\n </div>\n }\n\n <!-- Empty State -->\n @if (!IsLoading && FilteredJobs.length === 0) {\n <div class=\"empty-state\">\n <div class=\"empty-icon\">\n <i class=\"fa-solid fa-calendar-xmark\"></i>\n </div>\n <h3>No jobs found</h3>\n @if (SearchTerm || StatusFilter || TypeFilter) {\n <p>Try adjusting your filters</p>\n }\n @if (!SearchTerm && !StatusFilter && !TypeFilter) {\n <p>Create your first scheduled job to get started</p>\n }\n @if (!SearchTerm && !StatusFilter && !TypeFilter) {\n <button class=\"primary-btn\" (click)=\"OpenCreateSlideout()\">\n <i class=\"fa-solid fa-plus\"></i> Create Job\n </button>\n }\n </div>\n }\n\n <!-- Job Cards Grid -->\n @if (!IsLoading && FilteredJobs.length > 0) {\n <div class=\"jobs-grid\">\n @for (job of FilteredJobs; track job) {\n <div\n class=\"job-card\"\n (click)=\"OpenEditSlideout(job)\">\n <!-- Card Header -->\n <div class=\"job-card-header\">\n <div class=\"job-card-title\">\n <i [class]=\"GetTypeIcon(job.jobType)\" class=\"type-icon\"></i>\n <span class=\"job-name\">{{job.jobName}}</span>\n </div>\n <span class=\"status-chip\" [ngClass]=\"GetStatusClass(job.status)\">{{job.status}}</span>\n </div>\n <!-- Card Body -->\n <div class=\"job-card-body\">\n @if (job.description) {\n <div class=\"job-description\">{{job.description}}</div>\n }\n <div class=\"job-meta-grid\">\n <div class=\"meta-item\">\n <span class=\"meta-label\">Type</span>\n <span class=\"meta-value\">{{job.jobType}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Schedule</span>\n <span class=\"meta-value mono\">{{job.cronExpression}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Last Run</span>\n <span class=\"meta-value\">{{FormatDate(job.lastRunAt)}}</span>\n </div>\n <div class=\"meta-item\">\n <span class=\"meta-label\">Next Run</span>\n <span class=\"meta-value\">{{FormatDate(job.nextRunAt)}}</span>\n </div>\n </div>\n <!-- Success Rate Bar -->\n <div class=\"success-section\">\n <div class=\"success-header\">\n <span class=\"success-label\">Success Rate</span>\n <span class=\"success-value\" [style.color]=\"GetSuccessRateColor(job.successRate)\">\n {{FormatPercentage(job.successRate)}}\n </span>\n </div>\n <div class=\"success-bar-track\">\n <div class=\"success-bar-fill\"\n [style.width]=\"(job.successRate * 100) + '%'\"\n [style.background]=\"GetSuccessRateColor(job.successRate)\">\n </div>\n </div>\n <div class=\"run-stats\">\n <span class=\"stat-success\"><i class=\"fa-solid fa-check\"></i> {{job.successCount}}</span>\n <span class=\"stat-failure\"><i class=\"fa-solid fa-xmark\"></i> {{job.failureCount}}</span>\n <span class=\"stat-total\">{{job.totalRuns}} total</span>\n </div>\n </div>\n </div>\n <!-- Delete confirmation overlay -->\n @if (IsDeleteConfirming(job.jobId)) {\n <div class=\"delete-confirm-overlay\" (click)=\"$event.stopPropagation()\">\n <div class=\"delete-confirm-content\">\n <i class=\"fa-solid fa-triangle-exclamation delete-warn-icon\"></i>\n <span class=\"delete-confirm-text\">Delete this scheduled job?</span>\n <div class=\"delete-confirm-actions\">\n <button class=\"delete-confirm-btn\" [disabled]=\"IsDeleting\" (click)=\"ConfirmDelete(job.jobId, $event)\">\n @if (IsDeleting) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Deleting...\n } @else {\n Delete\n }\n </button>\n <button class=\"delete-cancel-btn\" (click)=\"CancelDelete($event)\">Cancel</button>\n </div>\n </div>\n </div>\n }\n <!-- Card Footer -->\n <div class=\"job-card-footer\">\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"ToggleJobStatus(job, $event)\">\n <i [class]=\"job.status === 'Active' ? 'fa-solid fa-pause' : 'fa-solid fa-play'\"></i>\n {{job.status === 'Active' ? 'Pause' : 'Resume'}}\n </button>\n <button mjButton variant=\"flat\" size=\"sm\" (click)=\"OpenEntityRecord(job); $event.stopPropagation()\">\n <i class=\"fa-solid fa-up-right-from-square\"></i>\n Full Details\n </button>\n <button mjButton variant=\"danger\" size=\"sm\" (click)=\"ShowDeleteConfirm(job, $event)\">\n <i class=\"fa-solid fa-trash-can\"></i>\n Delete\n </button>\n </div>\n </div>\n }\n </div>\n }\n\n <!-- Slideout Panel -->\n <mj-scheduled-job-slide-panel\n [IsOpen]=\"SlideoutOpen\"\n [ScheduledJobID]=\"SelectedJob?.jobId ?? null\"\n (Close)=\"CloseSlideout()\"\n (Saved)=\"OnSlideoutSaved()\"\n (Deleted)=\"OnSlideoutSaved()\">\n </mj-scheduled-job-slide-panel>\n</div>\n</ng-template>\n"]}
@@ -3,7 +3,8 @@ import { ResourceData } from '@memberjunction/core-entities';
3
3
  import { BaseResourceComponent } from '@memberjunction/ng-shared';
4
4
  import * as i0 from "@angular/core";
5
5
  /**
6
- * Scheduling Dashboard Resource - displays the overview dashboard with KPIs, health, and alerts
6
+ * Scheduling Dashboard Resource thin shim. The inner component owns its own
7
+ * `<mj-page-layout>` + `<mj-page-header>` chrome (see scheduling-overview.component.html).
7
8
  */
8
9
  export declare class SchedulingOverviewResourceComponent extends BaseResourceComponent implements OnInit {
9
10
  ngOnInit(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling-overview-resource.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAClE;;GAEG;AACH,qBAmBa,mCAAoC,SAAQ,qBAAsB,YAAW,MAAM;IAE9F,QAAQ,IAAI,IAAI;IAKV,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCAXpD,mCAAmC;2CAAnC,mCAAmC;CAc/C"}
1
+ {"version":3,"file":"scheduling-overview-resource.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAElE;;;GAGG;AACH,qBAMa,mCAAoC,SAAQ,qBAAsB,YAAW,MAAM;IAC9F,QAAQ,IAAI,IAAI;IAKV,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCAVpD,mCAAmC;2CAAnC,mCAAmC;CAa/C"}
@@ -10,7 +10,8 @@ import { BaseResourceComponent } from '@memberjunction/ng-shared';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "./scheduling-overview.component";
12
12
  /**
13
- * Scheduling Dashboard Resource - displays the overview dashboard with KPIs, health, and alerts
13
+ * Scheduling Dashboard Resource thin shim. The inner component owns its own
14
+ * `<mj-page-layout>` + `<mj-page-header>` chrome (see scheduling-overview.component.html).
14
15
  */
15
16
  let SchedulingOverviewResourceComponent = class SchedulingOverviewResourceComponent extends BaseResourceComponent {
16
17
  ngOnInit() {
@@ -24,11 +25,9 @@ let SchedulingOverviewResourceComponent = class SchedulingOverviewResourceCompon
24
25
  return 'fa-solid fa-gauge-high';
25
26
  }
26
27
  static ɵfac = /*@__PURE__*/ (() => { let ɵSchedulingOverviewResourceComponent_BaseFactory; return function SchedulingOverviewResourceComponent_Factory(__ngFactoryType__) { return (ɵSchedulingOverviewResourceComponent_BaseFactory || (ɵSchedulingOverviewResourceComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SchedulingOverviewResourceComponent)))(__ngFactoryType__ || SchedulingOverviewResourceComponent); }; })();
27
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingOverviewResourceComponent, selectors: [["mj-scheduling-dashboard-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [[1, "resource-container"]], template: function SchedulingOverviewResourceComponent_Template(rf, ctx) { if (rf & 1) {
28
- i0.ɵɵelementStart(0, "div", 0);
29
- i0.ɵɵelement(1, "app-scheduling-overview");
30
- i0.ɵɵelementEnd();
31
- } }, dependencies: [i1.SchedulingOverviewComponent], styles: [".resource-container[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n overflow: auto;\n padding: 7px;\n box-sizing: border-box;\n }"] });
28
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingOverviewResourceComponent, selectors: [["mj-scheduling-dashboard-resource"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 0, template: function SchedulingOverviewResourceComponent_Template(rf, ctx) { if (rf & 1) {
29
+ i0.ɵɵelement(0, "app-scheduling-overview");
30
+ } }, dependencies: [i1.SchedulingOverviewComponent], encapsulation: 2 });
32
31
  };
33
32
  SchedulingOverviewResourceComponent = __decorate([
34
33
  RegisterClass(BaseResourceComponent, 'SchedulingDashboardResource')
@@ -36,11 +35,11 @@ SchedulingOverviewResourceComponent = __decorate([
36
35
  export { SchedulingOverviewResourceComponent };
37
36
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchedulingOverviewResourceComponent, [{
38
37
  type: Component,
39
- args: [{ standalone: false, selector: 'mj-scheduling-dashboard-resource', template: `
40
- <div class="resource-container">
41
- <app-scheduling-overview></app-scheduling-overview>
42
- </div>
43
- `, styles: ["\n .resource-container {\n width: 100%;\n height: 100%;\n overflow: auto;\n padding: 7px;\n box-sizing: border-box;\n }\n "] }]
38
+ args: [{
39
+ standalone: false,
40
+ selector: 'mj-scheduling-dashboard-resource',
41
+ template: `<app-scheduling-overview></app-scheduling-overview>`
42
+ }]
44
43
  }], null, null); })();
45
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SchedulingOverviewResourceComponent, { className: "SchedulingOverviewResourceComponent", filePath: "src/Scheduling/components/scheduling-overview-resource.component.ts", lineNumber: 27 }); })();
44
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SchedulingOverviewResourceComponent, { className: "SchedulingOverviewResourceComponent", filePath: "src/Scheduling/components/scheduling-overview-resource.component.ts", lineNumber: 16 }); })();
46
45
  //# sourceMappingURL=scheduling-overview-resource.component.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling-overview-resource.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;;AAClE;;GAEG;AAoBI,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,qBAAqB;IAE5E,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,wBAAwB,CAAC;IAClC,CAAC;yTAbU,mCAAmC,yBAAnC,mCAAmC;6DAAnC,mCAAmC;YAd5C,8BAAgC;YAC9B,0CAAmD;YACrD,iBAAM;;;AAYG,mCAAmC;IAnB/C,aAAa,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;GAmBvD,mCAAmC,CAc/C;;iFAdY,mCAAmC;cAlB/C,SAAS;6BACI,KAAK,YACP,kCAAkC,YAClC;;;;GAIT;;kFAWU,mCAAmC","sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\n/**\n * Scheduling Dashboard Resource - displays the overview dashboard with KPIs, health, and alerts\n */\n@RegisterClass(BaseResourceComponent, 'SchedulingDashboardResource')\n@Component({\n standalone: false,\n selector: 'mj-scheduling-dashboard-resource',\n template: `\n <div class=\"resource-container\">\n <app-scheduling-overview></app-scheduling-overview>\n </div>\n `,\n styles: [`\n .resource-container {\n width: 100%;\n height: 100%;\n overflow: auto;\n padding: 7px;\n box-sizing: border-box;\n }\n `]\n})\nexport class SchedulingOverviewResourceComponent extends BaseResourceComponent implements OnInit {\n\n ngOnInit(): void {\n super.ngOnInit();\n this.NotifyLoadComplete();\n }\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Dashboard';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-gauge-high';\n }\n}\n"]}
1
+ {"version":3,"file":"scheduling-overview-resource.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;;AAElE;;;GAGG;AAOI,IAAM,mCAAmC,GAAzC,MAAM,mCAAoC,SAAQ,qBAAqB;IAC5E,QAAQ;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,wBAAwB,CAAC;IAClC,CAAC;yTAZU,mCAAmC,yBAAnC,mCAAmC;6DAAnC,mCAAmC;YAFnC,0CAAmD;;;AAEnD,mCAAmC;IAN/C,aAAa,CAAC,qBAAqB,EAAE,6BAA6B,CAAC;GAMvD,mCAAmC,CAa/C;;iFAbY,mCAAmC;cAL/C,SAAS;eAAC;gBACT,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,kCAAkC;gBAC5C,QAAQ,EAAE,qDAAqD;aAChE;;kFACY,mCAAmC","sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { ResourceData } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseResourceComponent } from '@memberjunction/ng-shared';\n\n/**\n * Scheduling Dashboard Resource thin shim. The inner component owns its own\n * `<mj-page-layout>` + `<mj-page-header>` chrome (see scheduling-overview.component.html).\n */\n@RegisterClass(BaseResourceComponent, 'SchedulingDashboardResource')\n@Component({\n standalone: false,\n selector: 'mj-scheduling-dashboard-resource',\n template: `<app-scheduling-overview></app-scheduling-overview>`\n})\nexport class SchedulingOverviewResourceComponent extends BaseResourceComponent implements OnInit {\n ngOnInit(): void {\n super.ngOnInit();\n this.NotifyLoadComplete();\n }\n\n async GetResourceDisplayName(data: ResourceData): Promise<string> {\n return 'Dashboard';\n }\n\n async GetResourceIconClass(data: ResourceData): Promise<string> {\n return 'fa-solid fa-gauge-high';\n }\n}\n"]}
@@ -5,6 +5,8 @@ export declare class SchedulingOverviewComponent implements OnInit, OnDestroy {
5
5
  private schedulingService;
6
6
  private cdr;
7
7
  initialState: Record<string, unknown>;
8
+ /** When true, the inner toolbar is hidden — the parent shell is rendering it in `<mj-page-header>` instead. */
9
+ HideToolbar: boolean;
8
10
  stateChange: EventEmitter<Record<string, unknown>>;
9
11
  Kpis: SchedulingKPIs | null;
10
12
  LiveExecutions: JobExecution[];
@@ -38,6 +40,6 @@ export declare class SchedulingOverviewComponent implements OnInit, OnDestroy {
38
40
  private stopAutoRefresh;
39
41
  private emitState;
40
42
  static ɵfac: i0.ɵɵFactoryDeclaration<SchedulingOverviewComponent, never>;
41
- static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingOverviewComponent, "app-scheduling-overview", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
43
+ static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingOverviewComponent, "app-scheduling-overview", never, { "initialState": { "alias": "initialState"; "required": false; }; "HideToolbar": { "alias": "HideToolbar"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
42
44
  }
43
45
  //# sourceMappingURL=scheduling-overview.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"scheduling-overview.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AAEtI,OAAO,EACL,gCAAgC,EAChC,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACf,MAAM,gDAAgD,CAAC;;AAExD,qBAOa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IAgBjE,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAhBJ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAC1C,WAAW,wCAA+C;IAE7D,IAAI,EAAE,cAAc,GAAG,IAAI,CAAQ;IACnC,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvB,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9B,SAAS,UAAQ;IACjB,kBAAkB,UAAQ;IAEjC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAA2B;gBAGvC,iBAAiB,EAAE,gCAAgC,EACnD,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAoChB,WAAW,IAAI,IAAI;IAKZ,OAAO,IAAI,IAAI;IAIf,iBAAiB,IAAI,IAAI;IAUnB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWrC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAItC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAY9C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAYjC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAWnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAWlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMzC,cAAc,IAAI,MAAM;IAUxB,cAAc,IAAI,MAAM;IAOxB,wBAAwB,IAAI,MAAM;IAOzC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;yCA7MN,2BAA2B;2CAA3B,2BAA2B;CAkNvC"}
1
+ {"version":3,"file":"scheduling-overview.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-overview.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAA2B,MAAM,eAAe,CAAC;AAEtI,OAAO,EACL,gCAAgC,EAChC,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,QAAQ,EACR,cAAc,EACf,MAAM,gDAAgD,CAAC;;AAExD,qBAOa,2BAA4B,YAAW,MAAM,EAAE,SAAS;IAkBjE,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAlBJ,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IACpD,+GAA+G;IACtG,WAAW,UAAS;IACnB,WAAW,wCAA+C;IAE7D,IAAI,EAAE,cAAc,GAAG,IAAI,CAAQ;IACnC,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,KAAK,EAAE,QAAQ,EAAE,CAAM;IACvB,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9B,SAAS,UAAQ;IACjB,kBAAkB,UAAQ;IAEjC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,cAAc,CAA2B;gBAGvC,iBAAiB,EAAE,gCAAgC,EACnD,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAoChB,WAAW,IAAI,IAAI;IAKZ,OAAO,IAAI,IAAI;IAIf,iBAAiB,IAAI,IAAI;IAUnB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWrC,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWtC,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAItC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM;IAY9C,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAYjC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAWnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAWlC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMzC,cAAc,IAAI,MAAM;IAUxB,cAAc,IAAI,MAAM;IAOxB,wBAAwB,IAAI,MAAM;IAOzC,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,SAAS;yCA/MN,2BAA2B;2CAA3B,2BAA2B;CAoNvC"}