@memberjunction/ng-dashboards 3.4.0 → 4.0.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 (573) hide show
  1. package/dist/AI/ai-dashboard.component.d.ts +62 -0
  2. package/dist/AI/ai-dashboard.component.d.ts.map +1 -0
  3. package/dist/AI/ai-dashboard.component.js +338 -0
  4. package/dist/AI/ai-dashboard.component.js.map +1 -0
  5. package/dist/AI/components/agents/agent-configuration.component.d.ts +12 -5
  6. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  7. package/dist/AI/components/agents/agent-configuration.component.js +103 -44
  8. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  9. package/dist/AI/components/agents/agent-editor.component.d.ts +14 -5
  10. package/dist/AI/components/agents/agent-editor.component.d.ts.map +1 -1
  11. package/dist/AI/components/agents/agent-editor.component.js +149 -211
  12. package/dist/AI/components/agents/agent-editor.component.js.map +1 -1
  13. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +1 -1
  14. package/dist/AI/components/agents/agent-filter-panel.component.js +4 -4
  15. package/dist/AI/components/agents/agent-filter-panel.component.js.map +1 -1
  16. package/dist/AI/components/charts/performance-heatmap.component.d.ts.map +1 -1
  17. package/dist/AI/components/charts/performance-heatmap.component.js +4 -6
  18. package/dist/AI/components/charts/performance-heatmap.component.js.map +1 -1
  19. package/dist/AI/components/charts/time-series-chart.component.d.ts.map +1 -1
  20. package/dist/AI/components/charts/time-series-chart.component.js +6 -7
  21. package/dist/AI/components/charts/time-series-chart.component.js.map +1 -1
  22. package/dist/AI/components/execution-monitoring.component.d.ts +0 -4
  23. package/dist/AI/components/execution-monitoring.component.d.ts.map +1 -1
  24. package/dist/AI/components/execution-monitoring.component.js +33 -37
  25. package/dist/AI/components/execution-monitoring.component.js.map +1 -1
  26. package/dist/AI/components/models/model-management-v2.component.d.ts +96 -0
  27. package/dist/AI/components/models/model-management-v2.component.d.ts.map +1 -0
  28. package/dist/AI/components/models/model-management-v2.component.js +981 -0
  29. package/dist/AI/components/models/model-management-v2.component.js.map +1 -0
  30. package/dist/AI/components/models/model-management.component.d.ts +3 -6
  31. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  32. package/dist/AI/components/models/model-management.component.js +34 -27
  33. package/dist/AI/components/models/model-management.component.js.map +1 -1
  34. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.d.ts.map +1 -1
  35. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js +22 -17
  36. package/dist/AI/components/prompts/model-prompt-priority-matrix.component.js.map +1 -1
  37. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +1 -1
  38. package/dist/AI/components/prompts/prompt-filter-panel.component.js +4 -4
  39. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +1 -1
  40. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts +97 -0
  41. package/dist/AI/components/prompts/prompt-management-v2.component.d.ts.map +1 -0
  42. package/dist/AI/components/prompts/prompt-management-v2.component.js +811 -0
  43. package/dist/AI/components/prompts/prompt-management-v2.component.js.map +1 -0
  44. package/dist/AI/components/prompts/prompt-management.component.d.ts +3 -6
  45. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  46. package/dist/AI/components/prompts/prompt-management.component.js +34 -32
  47. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  48. package/dist/AI/components/prompts/prompt-version-control.component.d.ts.map +1 -1
  49. package/dist/AI/components/prompts/prompt-version-control.component.js +33 -28
  50. package/dist/AI/components/prompts/prompt-version-control.component.js.map +1 -1
  51. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +1 -1
  52. package/dist/AI/components/system/system-config-filter-panel.component.js +4 -4
  53. package/dist/AI/components/system/system-config-filter-panel.component.js.map +1 -1
  54. package/dist/AI/components/system/system-configuration.component.d.ts +0 -4
  55. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  56. package/dist/AI/components/system/system-configuration.component.js +26 -27
  57. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  58. package/dist/AI/components/widgets/kpi-card.component.d.ts.map +1 -1
  59. package/dist/AI/components/widgets/kpi-card.component.js +52 -42
  60. package/dist/AI/components/widgets/kpi-card.component.js.map +1 -1
  61. package/dist/AI/components/widgets/live-execution-widget.component.d.ts.map +1 -1
  62. package/dist/AI/components/widgets/live-execution-widget.component.js +7 -7
  63. package/dist/AI/components/widgets/live-execution-widget.component.js.map +1 -1
  64. package/dist/APIKeys/api-applications-panel.component.d.ts +0 -2
  65. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  66. package/dist/APIKeys/api-applications-panel.component.js +193 -189
  67. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  68. package/dist/APIKeys/api-key-create-dialog.component.d.ts +0 -2
  69. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  70. package/dist/APIKeys/api-key-create-dialog.component.js +175 -180
  71. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  72. package/dist/APIKeys/api-key-edit-panel.component.d.ts +0 -2
  73. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  74. package/dist/APIKeys/api-key-edit-panel.component.js +231 -225
  75. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  76. package/dist/APIKeys/api-key-list.component.d.ts +0 -2
  77. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  78. package/dist/APIKeys/api-key-list.component.js +113 -114
  79. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  80. package/dist/APIKeys/api-keys-resource.component.d.ts +0 -2
  81. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  82. package/dist/APIKeys/api-keys-resource.component.js +294 -302
  83. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  84. package/dist/APIKeys/api-scopes-panel.component.d.ts +0 -2
  85. package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -1
  86. package/dist/APIKeys/api-scopes-panel.component.js +151 -155
  87. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -1
  88. package/dist/APIKeys/api-usage-panel.component.d.ts +0 -2
  89. package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -1
  90. package/dist/APIKeys/api-usage-panel.component.js +237 -234
  91. package/dist/APIKeys/api-usage-panel.component.js.map +1 -1
  92. package/dist/Actions/actions-management-dashboard.component.d.ts +52 -0
  93. package/dist/Actions/actions-management-dashboard.component.d.ts.map +1 -0
  94. package/dist/Actions/actions-management-dashboard.component.js +308 -0
  95. package/dist/Actions/actions-management-dashboard.component.js.map +1 -0
  96. package/dist/Actions/components/actions-list-view.component.d.ts.map +1 -1
  97. package/dist/Actions/components/actions-list-view.component.js +15 -14
  98. package/dist/Actions/components/actions-list-view.component.js.map +1 -1
  99. package/dist/Actions/components/actions-overview.component.d.ts +3 -6
  100. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  101. package/dist/Actions/components/actions-overview.component.js +17 -19
  102. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  103. package/dist/Actions/components/categories-list-view.component.d.ts.map +1 -1
  104. package/dist/Actions/components/categories-list-view.component.js +6 -6
  105. package/dist/Actions/components/categories-list-view.component.js.map +1 -1
  106. package/dist/Actions/components/code-management.component.d.ts +0 -4
  107. package/dist/Actions/components/code-management.component.d.ts.map +1 -1
  108. package/dist/Actions/components/code-management.component.js +3 -9
  109. package/dist/Actions/components/code-management.component.js.map +1 -1
  110. package/dist/Actions/components/entity-integration.component.d.ts +0 -4
  111. package/dist/Actions/components/entity-integration.component.d.ts.map +1 -1
  112. package/dist/Actions/components/entity-integration.component.js +3 -9
  113. package/dist/Actions/components/entity-integration.component.js.map +1 -1
  114. package/dist/Actions/components/execution-monitoring.component.d.ts +3 -6
  115. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  116. package/dist/Actions/components/execution-monitoring.component.js +13 -16
  117. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  118. package/dist/Actions/components/executions-list-view.component.d.ts.map +1 -1
  119. package/dist/Actions/components/executions-list-view.component.js +3 -3
  120. package/dist/Actions/components/executions-list-view.component.js.map +1 -1
  121. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -1
  122. package/dist/Actions/components/explorer/action-breadcrumb.component.js +6 -6
  123. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -1
  124. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -1
  125. package/dist/Actions/components/explorer/action-card.component.js +11 -10
  126. package/dist/Actions/components/explorer/action-card.component.js.map +1 -1
  127. package/dist/Actions/components/explorer/action-explorer.component.d.ts +0 -4
  128. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  129. package/dist/Actions/components/explorer/action-explorer.component.js +10 -14
  130. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  131. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -1
  132. package/dist/Actions/components/explorer/action-list-item.component.js +8 -8
  133. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -1
  134. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -1
  135. package/dist/Actions/components/explorer/action-toolbar.component.js +15 -14
  136. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -1
  137. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -1
  138. package/dist/Actions/components/explorer/action-tree-panel.component.js +11 -10
  139. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -1
  140. package/dist/Actions/components/explorer/index.d.ts +0 -1
  141. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  142. package/dist/Actions/components/explorer/index.js +0 -4
  143. package/dist/Actions/components/explorer/index.js.map +1 -1
  144. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -1
  145. package/dist/Actions/components/explorer/new-action-panel.component.js +10 -10
  146. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -1
  147. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -1
  148. package/dist/Actions/components/explorer/new-category-panel.component.js +8 -8
  149. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -1
  150. package/dist/Actions/components/scheduled-actions.component.d.ts +0 -4
  151. package/dist/Actions/components/scheduled-actions.component.d.ts.map +1 -1
  152. package/dist/Actions/components/scheduled-actions.component.js +3 -9
  153. package/dist/Actions/components/scheduled-actions.component.js.map +1 -1
  154. package/dist/Actions/components/security-permissions.component.d.ts +0 -4
  155. package/dist/Actions/components/security-permissions.component.d.ts.map +1 -1
  156. package/dist/Actions/components/security-permissions.component.js +3 -9
  157. package/dist/Actions/components/security-permissions.component.js.map +1 -1
  158. package/dist/Actions/index.d.ts +0 -7
  159. package/dist/Actions/index.d.ts.map +1 -1
  160. package/dist/Actions/index.js +0 -8
  161. package/dist/Actions/index.js.map +1 -1
  162. package/dist/Communication/communication-dashboard.component.d.ts +0 -1
  163. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  164. package/dist/Communication/communication-dashboard.component.js +38 -51
  165. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  166. package/dist/Communication/communication-logs-resource.component.d.ts +0 -4
  167. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  168. package/dist/Communication/communication-logs-resource.component.js +112 -108
  169. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  170. package/dist/Communication/communication-monitor-resource.component.d.ts +0 -4
  171. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  172. package/dist/Communication/communication-monitor-resource.component.js +210 -201
  173. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  174. package/dist/Communication/communication-providers-resource.component.d.ts +0 -4
  175. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  176. package/dist/Communication/communication-providers-resource.component.js +136 -124
  177. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  178. package/dist/Communication/communication-runs-resource.component.d.ts +0 -4
  179. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  180. package/dist/Communication/communication-runs-resource.component.js +91 -88
  181. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  182. package/dist/Communication/communication-templates-resource.component.d.ts +0 -4
  183. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  184. package/dist/Communication/communication-templates-resource.component.js +139 -122
  185. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  186. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +0 -4
  187. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  188. package/dist/ComponentStudio/component-studio-dashboard.component.js +21 -20
  189. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  190. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -1
  191. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +11 -12
  192. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -1
  193. package/dist/ComponentStudio/components/artifact-load-dialog.component.d.ts.map +1 -1
  194. package/dist/ComponentStudio/components/artifact-load-dialog.component.js +25 -22
  195. package/dist/ComponentStudio/components/artifact-load-dialog.component.js.map +1 -1
  196. package/dist/ComponentStudio/components/artifact-selection-dialog.component.d.ts.map +1 -1
  197. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js +16 -16
  198. package/dist/ComponentStudio/components/artifact-selection-dialog.component.js.map +1 -1
  199. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -1
  200. package/dist/ComponentStudio/components/browser/component-browser.component.js +23 -21
  201. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -1
  202. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -1
  203. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +10 -10
  204. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -1
  205. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -1
  206. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +13 -13
  207. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -1
  208. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -1
  209. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +7 -7
  210. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -1
  211. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -1
  212. package/dist/ComponentStudio/components/editors/spec-editor.component.js +5 -5
  213. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -1
  214. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -1
  215. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +4 -4
  216. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -1
  217. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -1
  218. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +9 -9
  219. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -1
  220. package/dist/ComponentStudio/components/text-import-dialog.component.d.ts.map +1 -1
  221. package/dist/ComponentStudio/components/text-import-dialog.component.js +4 -4
  222. package/dist/ComponentStudio/components/text-import-dialog.component.js.map +1 -1
  223. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -1
  224. package/dist/ComponentStudio/components/workspace/component-preview.component.js +10 -9
  225. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -1
  226. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -1
  227. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +4 -4
  228. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -1
  229. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +44 -0
  230. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +1 -0
  231. package/dist/Credentials/components/credential-category-edit-panel.component.js +456 -0
  232. package/dist/Credentials/components/credential-category-edit-panel.component.js.map +1 -0
  233. package/dist/Credentials/components/credential-edit-panel.component.d.ts +70 -0
  234. package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +1 -0
  235. package/dist/Credentials/components/credential-edit-panel.component.js +694 -0
  236. package/dist/Credentials/components/credential-edit-panel.component.js.map +1 -0
  237. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +56 -0
  238. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +1 -0
  239. package/dist/Credentials/components/credential-type-edit-panel.component.js +563 -0
  240. package/dist/Credentials/components/credential-type-edit-panel.component.js.map +1 -0
  241. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +0 -1
  242. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  243. package/dist/Credentials/components/credentials-audit-resource.component.js +200 -196
  244. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  245. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +0 -1
  246. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  247. package/dist/Credentials/components/credentials-categories-resource.component.js +195 -190
  248. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  249. package/dist/Credentials/components/credentials-list-resource.component.d.ts +0 -1
  250. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  251. package/dist/Credentials/components/credentials-list-resource.component.js +251 -240
  252. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  253. package/dist/Credentials/components/credentials-overview-resource.component.d.ts +0 -1
  254. package/dist/Credentials/components/credentials-overview-resource.component.d.ts.map +1 -1
  255. package/dist/Credentials/components/credentials-overview-resource.component.js +228 -226
  256. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  257. package/dist/Credentials/components/credentials-types-resource.component.d.ts +0 -1
  258. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  259. package/dist/Credentials/components/credentials-types-resource.component.js +214 -210
  260. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  261. package/dist/Credentials/credentials-dashboard.component.d.ts +0 -1
  262. package/dist/Credentials/credentials-dashboard.component.d.ts.map +1 -1
  263. package/dist/Credentials/credentials-dashboard.component.js +31 -44
  264. package/dist/Credentials/credentials-dashboard.component.js.map +1 -1
  265. package/dist/Credentials/pipes/group-by.pipe.d.ts.map +1 -1
  266. package/dist/Credentials/pipes/group-by.pipe.js +2 -1
  267. package/dist/Credentials/pipes/group-by.pipe.js.map +1 -1
  268. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts +0 -1
  269. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  270. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +73 -80
  271. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  272. package/dist/DashboardBrowser/dashboard-share-dialog.component.d.ts.map +1 -1
  273. package/dist/DashboardBrowser/dashboard-share-dialog.component.js +46 -45
  274. package/dist/DashboardBrowser/dashboard-share-dialog.component.js.map +1 -1
  275. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.d.ts.map +1 -1
  276. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js +7 -7
  277. package/dist/DataExplorer/components/filter-dialog/filter-dialog.component.js.map +1 -1
  278. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts.map +1 -1
  279. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js +15 -15
  280. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.js.map +1 -1
  281. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts +245 -0
  282. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.d.ts.map +1 -0
  283. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js +1143 -0
  284. package/dist/DataExplorer/components/view-config-panel/view-config-panel.component.js.map +1 -0
  285. package/dist/DataExplorer/components/view-selector/view-selector.component.d.ts.map +1 -1
  286. package/dist/DataExplorer/components/view-selector/view-selector.component.js +17 -11
  287. package/dist/DataExplorer/components/view-selector/view-selector.component.js.map +1 -1
  288. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +0 -4
  289. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  290. package/dist/DataExplorer/data-explorer-dashboard.component.js +49 -54
  291. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  292. package/dist/DataExplorer/data-explorer-resource.component.d.ts +0 -1
  293. package/dist/DataExplorer/data-explorer-resource.component.d.ts.map +1 -1
  294. package/dist/DataExplorer/data-explorer-resource.component.js +3 -6
  295. package/dist/DataExplorer/data-explorer-resource.component.js.map +1 -1
  296. package/dist/DataExplorer/index.d.ts +2 -2
  297. package/dist/DataExplorer/index.d.ts.map +1 -1
  298. package/dist/DataExplorer/index.js +2 -2
  299. package/dist/DataExplorer/index.js.map +1 -1
  300. package/dist/EntityAdmin/components/entity-details.component.d.ts +50 -0
  301. package/dist/EntityAdmin/components/entity-details.component.d.ts.map +1 -0
  302. package/dist/EntityAdmin/components/entity-details.component.js +680 -0
  303. package/dist/EntityAdmin/components/entity-details.component.js.map +1 -0
  304. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts +31 -0
  305. package/dist/EntityAdmin/components/entity-filter-panel.component.d.ts.map +1 -0
  306. package/dist/EntityAdmin/components/entity-filter-panel.component.js +160 -0
  307. package/dist/EntityAdmin/components/entity-filter-panel.component.js.map +1 -0
  308. package/dist/EntityAdmin/components/erd-composite.component.d.ts +73 -0
  309. package/dist/EntityAdmin/components/erd-composite.component.d.ts.map +1 -0
  310. package/dist/EntityAdmin/components/erd-composite.component.js +271 -0
  311. package/dist/EntityAdmin/components/erd-composite.component.js.map +1 -0
  312. package/dist/EntityAdmin/components/erd-diagram.component.d.ts +47 -0
  313. package/dist/EntityAdmin/components/erd-diagram.component.d.ts.map +1 -0
  314. package/dist/EntityAdmin/components/erd-diagram.component.js +618 -0
  315. package/dist/EntityAdmin/components/erd-diagram.component.js.map +1 -0
  316. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +0 -1
  317. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  318. package/dist/EntityAdmin/entity-admin-dashboard.component.js +6 -7
  319. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  320. package/dist/Home/home-application.d.ts +0 -5
  321. package/dist/Home/home-application.d.ts.map +1 -1
  322. package/dist/Home/home-application.js +0 -9
  323. package/dist/Home/home-application.js.map +1 -1
  324. package/dist/Home/home-dashboard.component.d.ts +0 -4
  325. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  326. package/dist/Home/home-dashboard.component.js +141 -139
  327. package/dist/Home/home-dashboard.component.js.map +1 -1
  328. package/dist/Lists/components/lists-browse-resource.component.d.ts +0 -1
  329. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  330. package/dist/Lists/components/lists-browse-resource.component.js +761 -685
  331. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  332. package/dist/Lists/components/lists-categories-resource.component.d.ts +0 -1
  333. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  334. package/dist/Lists/components/lists-categories-resource.component.js +340 -316
  335. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  336. package/dist/Lists/components/lists-my-lists-resource.component.d.ts +0 -1
  337. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  338. package/dist/Lists/components/lists-my-lists-resource.component.js +530 -482
  339. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  340. package/dist/Lists/components/lists-operations-resource.component.d.ts +0 -1
  341. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  342. package/dist/Lists/components/lists-operations-resource.component.js +508 -455
  343. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  344. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  345. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +44 -39
  346. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  347. package/dist/Lists/index.d.ts +0 -1
  348. package/dist/Lists/index.d.ts.map +1 -1
  349. package/dist/Lists/index.js +0 -11
  350. package/dist/Lists/index.js.map +1 -1
  351. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +0 -4
  352. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -1
  353. package/dist/MCP/components/mcp-connection-dialog.component.js +33 -39
  354. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -1
  355. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +0 -4
  356. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -1
  357. package/dist/MCP/components/mcp-log-detail-panel.component.js +42 -44
  358. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -1
  359. package/dist/MCP/components/mcp-server-dialog.component.d.ts +3 -4
  360. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -1
  361. package/dist/MCP/components/mcp-server-dialog.component.js +186 -77
  362. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -1
  363. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +0 -4
  364. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -1
  365. package/dist/MCP/components/mcp-test-tool-dialog.component.js +187 -187
  366. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -1
  367. package/dist/MCP/index.d.ts +5 -5
  368. package/dist/MCP/index.d.ts.map +1 -1
  369. package/dist/MCP/index.js +5 -5
  370. package/dist/MCP/index.js.map +1 -1
  371. package/dist/MCP/mcp-dashboard.component.d.ts +65 -7
  372. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  373. package/dist/MCP/mcp-dashboard.component.js +976 -697
  374. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  375. package/dist/MCP/mcp-filter-panel.component.d.ts +54 -0
  376. package/dist/MCP/mcp-filter-panel.component.d.ts.map +1 -0
  377. package/dist/MCP/mcp-filter-panel.component.js +288 -0
  378. package/dist/MCP/mcp-filter-panel.component.js.map +1 -0
  379. package/dist/MCP/mcp-resource.component.d.ts +11 -5
  380. package/dist/MCP/mcp-resource.component.d.ts.map +1 -1
  381. package/dist/MCP/mcp-resource.component.js +8 -9
  382. package/dist/MCP/mcp-resource.component.js.map +1 -1
  383. package/dist/MCP/mcp.module.d.ts +16 -19
  384. package/dist/MCP/mcp.module.d.ts.map +1 -1
  385. package/dist/MCP/mcp.module.js +17 -26
  386. package/dist/MCP/mcp.module.js.map +1 -1
  387. package/dist/MCP/services/mcp-tools.service.d.ts +10 -4
  388. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -1
  389. package/dist/MCP/services/mcp-tools.service.js +5 -6
  390. package/dist/MCP/services/mcp-tools.service.js.map +1 -1
  391. package/dist/QueryBrowser/query-browser-resource.component.d.ts +0 -1
  392. package/dist/QueryBrowser/query-browser-resource.component.d.ts.map +1 -1
  393. package/dist/QueryBrowser/query-browser-resource.component.js +79 -88
  394. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  395. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -1
  396. package/dist/Scheduling/components/job-slideout.component.js +117 -116
  397. package/dist/Scheduling/components/job-slideout.component.js.map +1 -1
  398. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +0 -4
  399. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  400. package/dist/Scheduling/components/scheduling-activity-resource.component.js +3 -9
  401. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  402. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  403. package/dist/Scheduling/components/scheduling-activity.component.js +134 -134
  404. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  405. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +20 -0
  406. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +1 -0
  407. package/dist/Scheduling/components/scheduling-health-resource.component.js +55 -0
  408. package/dist/Scheduling/components/scheduling-health-resource.component.js.map +1 -0
  409. package/dist/Scheduling/components/scheduling-health.component.d.ts +30 -0
  410. package/dist/Scheduling/components/scheduling-health.component.d.ts.map +1 -0
  411. package/dist/Scheduling/components/scheduling-health.component.js +315 -0
  412. package/dist/Scheduling/components/scheduling-health.component.js.map +1 -0
  413. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +20 -0
  414. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +1 -0
  415. package/dist/Scheduling/components/scheduling-history-resource.component.js +55 -0
  416. package/dist/Scheduling/components/scheduling-history-resource.component.js.map +1 -0
  417. package/dist/Scheduling/components/scheduling-history.component.d.ts +48 -0
  418. package/dist/Scheduling/components/scheduling-history.component.d.ts.map +1 -0
  419. package/dist/Scheduling/components/scheduling-history.component.js +377 -0
  420. package/dist/Scheduling/components/scheduling-history.component.js.map +1 -0
  421. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +0 -4
  422. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  423. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -9
  424. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  425. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  426. package/dist/Scheduling/components/scheduling-jobs.component.js +102 -97
  427. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  428. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +20 -0
  429. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +1 -0
  430. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +55 -0
  431. package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +1 -0
  432. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +37 -0
  433. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +1 -0
  434. package/dist/Scheduling/components/scheduling-monitoring.component.js +488 -0
  435. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +1 -0
  436. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +0 -4
  437. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  438. package/dist/Scheduling/components/scheduling-overview-resource.component.js +3 -9
  439. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  440. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  441. package/dist/Scheduling/components/scheduling-overview.component.js +127 -122
  442. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  443. package/dist/Scheduling/components/scheduling-types-resource.component.d.ts +20 -0
  444. package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +1 -0
  445. package/dist/Scheduling/components/scheduling-types-resource.component.js +55 -0
  446. package/dist/Scheduling/components/scheduling-types-resource.component.js.map +1 -0
  447. package/dist/Scheduling/components/scheduling-types.component.d.ts +22 -0
  448. package/dist/Scheduling/components/scheduling-types.component.d.ts.map +1 -0
  449. package/dist/Scheduling/components/scheduling-types.component.js +165 -0
  450. package/dist/Scheduling/components/scheduling-types.component.js.map +1 -0
  451. package/dist/Scheduling/scheduling-dashboard.component.d.ts +0 -1
  452. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  453. package/dist/Scheduling/scheduling-dashboard.component.js +35 -43
  454. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  455. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +0 -4
  456. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  457. package/dist/SystemDiagnostics/system-diagnostics.component.js +1552 -1534
  458. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  459. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  460. package/dist/Testing/components/testing-analytics-resource.component.js +3 -3
  461. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  462. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  463. package/dist/Testing/components/testing-analytics.component.js +30 -30
  464. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  465. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  466. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +3 -3
  467. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  468. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  469. package/dist/Testing/components/testing-dashboard-tab.component.js +7 -7
  470. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  471. package/dist/Testing/components/testing-execution-resource.component.d.ts +20 -0
  472. package/dist/Testing/components/testing-execution-resource.component.d.ts.map +1 -0
  473. package/dist/Testing/components/testing-execution-resource.component.js +55 -0
  474. package/dist/Testing/components/testing-execution-resource.component.js.map +1 -0
  475. package/dist/Testing/components/testing-execution.component.d.ts +71 -0
  476. package/dist/Testing/components/testing-execution.component.d.ts.map +1 -0
  477. package/dist/Testing/components/testing-execution.component.js +845 -0
  478. package/dist/Testing/components/testing-execution.component.js.map +1 -0
  479. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  480. package/dist/Testing/components/testing-explorer-resource.component.js +3 -3
  481. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  482. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  483. package/dist/Testing/components/testing-explorer.component.js +42 -35
  484. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  485. package/dist/Testing/components/testing-feedback-resource.component.d.ts +20 -0
  486. package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +1 -0
  487. package/dist/Testing/components/testing-feedback-resource.component.js +55 -0
  488. package/dist/Testing/components/testing-feedback-resource.component.js.map +1 -0
  489. package/dist/Testing/components/testing-feedback.component.d.ts +111 -0
  490. package/dist/Testing/components/testing-feedback.component.d.ts.map +1 -0
  491. package/dist/Testing/components/testing-feedback.component.js +1486 -0
  492. package/dist/Testing/components/testing-feedback.component.js.map +1 -0
  493. package/dist/Testing/components/testing-overview-resource.component.d.ts +20 -0
  494. package/dist/Testing/components/testing-overview-resource.component.d.ts.map +1 -0
  495. package/dist/Testing/components/testing-overview-resource.component.js +55 -0
  496. package/dist/Testing/components/testing-overview-resource.component.js.map +1 -0
  497. package/dist/Testing/components/testing-overview.component.d.ts +30 -0
  498. package/dist/Testing/components/testing-overview.component.d.ts.map +1 -0
  499. package/dist/Testing/components/testing-overview.component.js +361 -0
  500. package/dist/Testing/components/testing-overview.component.js.map +1 -0
  501. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  502. package/dist/Testing/components/testing-review-resource.component.js +3 -3
  503. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  504. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  505. package/dist/Testing/components/testing-review.component.js +16 -16
  506. package/dist/Testing/components/testing-review.component.js.map +1 -1
  507. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  508. package/dist/Testing/components/testing-runs-resource.component.js +3 -3
  509. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  510. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  511. package/dist/Testing/components/testing-runs.component.js +15 -15
  512. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  513. package/dist/Testing/components/testing-version-comparison.component.d.ts +62 -0
  514. package/dist/Testing/components/testing-version-comparison.component.d.ts.map +1 -0
  515. package/dist/Testing/components/testing-version-comparison.component.js +815 -0
  516. package/dist/Testing/components/testing-version-comparison.component.js.map +1 -0
  517. package/dist/Testing/components/testing-version-resource.component.d.ts +20 -0
  518. package/dist/Testing/components/testing-version-resource.component.d.ts.map +1 -0
  519. package/dist/Testing/components/testing-version-resource.component.js +55 -0
  520. package/dist/Testing/components/testing-version-resource.component.js.map +1 -0
  521. package/dist/Testing/components/widgets/oracle-breakdown-table.component.d.ts.map +1 -1
  522. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js +73 -61
  523. package/dist/Testing/components/widgets/oracle-breakdown-table.component.js.map +1 -1
  524. package/dist/Testing/components/widgets/suite-tree.component.d.ts.map +1 -1
  525. package/dist/Testing/components/widgets/suite-tree.component.js +34 -31
  526. package/dist/Testing/components/widgets/suite-tree.component.js.map +1 -1
  527. package/dist/Testing/components/widgets/test-run-detail-panel.component.d.ts.map +1 -1
  528. package/dist/Testing/components/widgets/test-run-detail-panel.component.js +180 -171
  529. package/dist/Testing/components/widgets/test-run-detail-panel.component.js.map +1 -1
  530. package/dist/Testing/testing-dashboard.component.d.ts +0 -1
  531. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  532. package/dist/Testing/testing-dashboard.component.js +9 -8
  533. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  534. package/dist/VersionHistory/components/diff-resource.component.d.ts +119 -0
  535. package/dist/VersionHistory/components/diff-resource.component.d.ts.map +1 -0
  536. package/dist/VersionHistory/components/diff-resource.component.js +1162 -0
  537. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -0
  538. package/dist/VersionHistory/components/graph-resource.component.d.ts +67 -0
  539. package/dist/VersionHistory/components/graph-resource.component.d.ts.map +1 -0
  540. package/dist/VersionHistory/components/graph-resource.component.js +521 -0
  541. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -0
  542. package/dist/VersionHistory/components/index.d.ts +5 -0
  543. package/dist/VersionHistory/components/index.d.ts.map +1 -0
  544. package/dist/VersionHistory/components/index.js +5 -0
  545. package/dist/VersionHistory/components/index.js.map +1 -0
  546. package/dist/VersionHistory/components/labels-resource.component.d.ts +89 -0
  547. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -0
  548. package/dist/VersionHistory/components/labels-resource.component.js +968 -0
  549. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -0
  550. package/dist/VersionHistory/components/restore-resource.component.d.ts +40 -0
  551. package/dist/VersionHistory/components/restore-resource.component.d.ts.map +1 -0
  552. package/dist/VersionHistory/components/restore-resource.component.js +472 -0
  553. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -0
  554. package/dist/VersionHistory/index.d.ts +2 -0
  555. package/dist/VersionHistory/index.d.ts.map +1 -0
  556. package/dist/VersionHistory/index.js +2 -0
  557. package/dist/VersionHistory/index.js.map +1 -0
  558. package/dist/generic/base-dashboard.d.ts +65 -0
  559. package/dist/generic/base-dashboard.d.ts.map +1 -0
  560. package/dist/generic/base-dashboard.js +74 -0
  561. package/dist/generic/base-dashboard.js.map +1 -0
  562. package/dist/module.d.ts +42 -36
  563. package/dist/module.d.ts.map +1 -1
  564. package/dist/module.js +41 -7
  565. package/dist/module.js.map +1 -1
  566. package/dist/public-api.d.ts +20 -19
  567. package/dist/public-api.d.ts.map +1 -1
  568. package/dist/public-api.js +22 -120
  569. package/dist/public-api.js.map +1 -1
  570. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -1
  571. package/dist/shared/pipes/highlight-search.pipe.js +2 -1
  572. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -1
  573. package/package.json +64 -62
@@ -0,0 +1,55 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component } from '@angular/core';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import { BaseResourceComponent } from '@memberjunction/ng-shared';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "./scheduling-monitoring.component";
12
+ /**
13
+ * Tree-shaking prevention function
14
+ */
15
+ export function LoadSchedulingMonitorResource() {
16
+ // Force inclusion in production builds
17
+ }
18
+ /**
19
+ * Scheduling Monitor Resource - displays real-time job monitoring and metrics
20
+ */
21
+ let SchedulingMonitorResourceComponent = class SchedulingMonitorResourceComponent extends BaseResourceComponent {
22
+ ngOnInit() {
23
+ // Notify that loading is complete
24
+ this.NotifyLoadComplete();
25
+ }
26
+ ngOnDestroy() {
27
+ // Cleanup if needed
28
+ }
29
+ async GetResourceDisplayName(data) {
30
+ return 'Monitor';
31
+ }
32
+ async GetResourceIconClass(data) {
33
+ return 'fa-solid fa-chart-line';
34
+ }
35
+ static ɵfac = /*@__PURE__*/ (() => { let ɵSchedulingMonitorResourceComponent_BaseFactory; return function SchedulingMonitorResourceComponent_Factory(__ngFactoryType__) { return (ɵSchedulingMonitorResourceComponent_BaseFactory || (ɵSchedulingMonitorResourceComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SchedulingMonitorResourceComponent)))(__ngFactoryType__ || SchedulingMonitorResourceComponent); }; })();
36
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingMonitorResourceComponent, selectors: [["mj-scheduling-monitor-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [[1, "resource-container"]], template: function SchedulingMonitorResourceComponent_Template(rf, ctx) { if (rf & 1) {
37
+ i0.ɵɵelementStart(0, "div", 0);
38
+ i0.ɵɵelement(1, "app-scheduling-monitoring");
39
+ i0.ɵɵelementEnd();
40
+ } }, dependencies: [i1.SchedulingMonitoringComponent], styles: [".resource-container[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n overflow: auto;\n padding: 7px;\n box-sizing: border-box;\n }"] });
41
+ };
42
+ SchedulingMonitorResourceComponent = __decorate([
43
+ RegisterClass(BaseResourceComponent, 'SchedulingMonitorResource')
44
+ ], SchedulingMonitorResourceComponent);
45
+ export { SchedulingMonitorResourceComponent };
46
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchedulingMonitorResourceComponent, [{
47
+ type: Component,
48
+ args: [{ selector: 'mj-scheduling-monitor-resource', template: `
49
+ <div class="resource-container">
50
+ <app-scheduling-monitoring></app-scheduling-monitoring>
51
+ </div>
52
+ `, styles: ["\n .resource-container {\n width: 100%;\n height: 100%;\n overflow: auto;\n padding: 7px;\n box-sizing: border-box;\n }\n "] }]
53
+ }], null, null); })();
54
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SchedulingMonitorResourceComponent, { className: "SchedulingMonitorResourceComponent" }); })();
55
+ //# sourceMappingURL=scheduling-monitor-resource.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling-monitor-resource.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-monitor-resource.component.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;;AAElE;;GAEG;AACH,MAAM,UAAU,6BAA6B;IAC3C,uCAAuC;AACzC,CAAC;AAED;;GAEG;AAmBI,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,qBAAqB;IAE3E,QAAQ;QACN,kCAAkC;QAClC,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,oBAAoB;IACtB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAkB;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,wBAAwB,CAAC;IAClC,CAAC;qTAjBU,kCAAkC,yBAAlC,kCAAkC;6DAAlC,kCAAkC;YAd3C,8BAAgC;YAC9B,4CAAuD;YACzD,iBAAM;;;AAYG,kCAAkC;IAlB9C,aAAa,CAAC,qBAAqB,EAAE,2BAA2B,CAAC;GAkBrD,kCAAkC,CAkB9C;;iFAlBY,kCAAkC;cAjB9C,SAAS;2BACE,gCAAgC,YAChC;;;;GAIT;;kFAWU,kCAAkC"}
@@ -0,0 +1,37 @@
1
+ import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
+ import { SchedulingInstrumentationService, SchedulingKPIs, JobExecution, UpcomingExecution } from '../services/scheduling-instrumentation.service';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SchedulingMonitoringComponent implements OnInit, OnDestroy {
5
+ private schedulingService;
6
+ private cdr;
7
+ initialState: any;
8
+ stateChange: EventEmitter<any>;
9
+ kpis: SchedulingKPIs | null;
10
+ liveExecutions: JobExecution[];
11
+ upcomingExecutions: UpcomingExecution[];
12
+ isLoading: boolean;
13
+ autoRefreshInterval: number;
14
+ autoRefreshEnabled: boolean;
15
+ private destroy$;
16
+ private refreshTimer;
17
+ constructor(schedulingService: SchedulingInstrumentationService, cdr: ChangeDetectorRef);
18
+ ngOnInit(): void;
19
+ ngOnDestroy(): void;
20
+ private loadState;
21
+ private loadData;
22
+ private setupAutoRefresh;
23
+ onRefresh(): void;
24
+ toggleAutoRefresh(): void;
25
+ setRefreshInterval(interval: number): void;
26
+ getStatusClass(status: string): string;
27
+ getStatusIcon(status: string): string;
28
+ formatDuration(ms?: number): string;
29
+ formatTimeAgo(date: Date): string;
30
+ formatTimeUntil(date: Date): string;
31
+ formatCost(cost: number): string;
32
+ formatPercentage(value: number): string;
33
+ private emitStateChange;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<SchedulingMonitoringComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingMonitoringComponent, "app-scheduling-monitoring", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
36
+ }
37
+ //# sourceMappingURL=scheduling-monitoring.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling-monitoring.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-monitoring.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAiB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG7G,OAAO,EAAE,gCAAgC,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;;AAEnJ,qBAKa,6BAA8B,YAAW,MAAM,EAAE,SAAS;IAenE,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAfJ,YAAY,EAAE,GAAG,CAAC;IACjB,WAAW,oBAA2B;IAEzC,IAAI,EAAE,cAAc,GAAG,IAAI,CAAQ;IACnC,cAAc,EAAE,YAAY,EAAE,CAAM;IACpC,kBAAkB,EAAE,iBAAiB,EAAE,CAAM;IAC7C,SAAS,UAAS;IAClB,mBAAmB,EAAE,MAAM,CAAS;IACpC,kBAAkB,UAAQ;IAEjC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAM;gBAGhB,iBAAiB,EAAE,gCAAgC,EACnD,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAMhB,WAAW,IAAI,IAAI;IAQnB,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,QAAQ;IA6ChB,OAAO,CAAC,gBAAgB;IAQjB,SAAS,IAAI,IAAI;IAIjB,iBAAiB,IAAI,IAAI;IAWzB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAW1C,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWtC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAWrC,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM;IAUnC,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAajC,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAcnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAMhC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI9C,OAAO,CAAC,eAAe;yCA5LZ,6BAA6B;2CAA7B,6BAA6B;CAmMzC"}
@@ -0,0 +1,488 @@
1
+ import { Component, Input, Output, EventEmitter } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../services/scheduling-instrumentation.service";
6
+ import * as i2 from "@angular/common";
7
+ import * as i3 from "@progress/kendo-angular-buttons";
8
+ import * as i4 from "@memberjunction/ng-shared-generic";
9
+ const _forTrack0 = ($index, $item) => $item.id;
10
+ const _forTrack1 = ($index, $item) => $item.jobId;
11
+ function SchedulingMonitoringComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "div", 7);
13
+ i0.ɵɵelement(1, "mj-loading", 8);
14
+ i0.ɵɵelementEnd();
15
+ } }
16
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_70_Template(rf, ctx) { if (rf & 1) {
17
+ i0.ɵɵelementStart(0, "div", 33);
18
+ i0.ɵɵelement(1, "i", 37);
19
+ i0.ɵɵelementStart(2, "p");
20
+ i0.ɵɵtext(3, "No recent executions");
21
+ i0.ɵɵelementEnd()();
22
+ } }
23
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_71_For_15_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelementStart(0, "tr")(1, "td")(2, "span", 38);
25
+ i0.ɵɵelement(3, "i", 39);
26
+ i0.ɵɵtext(4);
27
+ i0.ɵɵelementEnd()();
28
+ i0.ɵɵelementStart(5, "td");
29
+ i0.ɵɵtext(6);
30
+ i0.ɵɵelementEnd();
31
+ i0.ɵɵelementStart(7, "td");
32
+ i0.ɵɵtext(8);
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementStart(9, "td");
35
+ i0.ɵɵtext(10);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(11, "td");
38
+ i0.ɵɵtext(12);
39
+ i0.ɵɵelementEnd()();
40
+ } if (rf & 2) {
41
+ const exec_r1 = ctx.$implicit;
42
+ const ctx_r1 = i0.ɵɵnextContext(3);
43
+ i0.ɵɵadvance(2);
44
+ i0.ɵɵproperty("ngClass", ctx_r1.getStatusClass(exec_r1.status));
45
+ i0.ɵɵadvance();
46
+ i0.ɵɵproperty("ngClass", ctx_r1.getStatusIcon(exec_r1.status));
47
+ i0.ɵɵadvance();
48
+ i0.ɵɵtextInterpolate1(" ", exec_r1.status, " ");
49
+ i0.ɵɵadvance(2);
50
+ i0.ɵɵtextInterpolate(exec_r1.jobName);
51
+ i0.ɵɵadvance(2);
52
+ i0.ɵɵtextInterpolate(exec_r1.jobType);
53
+ i0.ɵɵadvance(2);
54
+ i0.ɵɵtextInterpolate(ctx_r1.formatTimeAgo(exec_r1.startedAt));
55
+ i0.ɵɵadvance(2);
56
+ i0.ɵɵtextInterpolate(ctx_r1.formatDuration(exec_r1.duration));
57
+ } }
58
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_71_Template(rf, ctx) { if (rf & 1) {
59
+ i0.ɵɵelementStart(0, "table", 34)(1, "thead")(2, "tr")(3, "th");
60
+ i0.ɵɵtext(4, "Status");
61
+ i0.ɵɵelementEnd();
62
+ i0.ɵɵelementStart(5, "th");
63
+ i0.ɵɵtext(6, "Job Name");
64
+ i0.ɵɵelementEnd();
65
+ i0.ɵɵelementStart(7, "th");
66
+ i0.ɵɵtext(8, "Type");
67
+ i0.ɵɵelementEnd();
68
+ i0.ɵɵelementStart(9, "th");
69
+ i0.ɵɵtext(10, "Started");
70
+ i0.ɵɵelementEnd();
71
+ i0.ɵɵelementStart(11, "th");
72
+ i0.ɵɵtext(12, "Duration");
73
+ i0.ɵɵelementEnd()()();
74
+ i0.ɵɵelementStart(13, "tbody");
75
+ i0.ɵɵrepeaterCreate(14, SchedulingMonitoringComponent_Conditional_10_Conditional_71_For_15_Template, 13, 7, "tr", null, _forTrack0);
76
+ i0.ɵɵelementEnd()();
77
+ } if (rf & 2) {
78
+ const ctx_r1 = i0.ɵɵnextContext(2);
79
+ i0.ɵɵadvance(14);
80
+ i0.ɵɵrepeater(ctx_r1.liveExecutions.slice(0, 10));
81
+ } }
82
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_80_Template(rf, ctx) { if (rf & 1) {
83
+ i0.ɵɵelementStart(0, "div", 33);
84
+ i0.ɵɵelement(1, "i", 37);
85
+ i0.ɵɵelementStart(2, "p");
86
+ i0.ɵɵtext(3, "No upcoming executions in next 24 hours");
87
+ i0.ɵɵelementEnd()();
88
+ } }
89
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_81_For_15_Template(rf, ctx) { if (rf & 1) {
90
+ i0.ɵɵelementStart(0, "tr")(1, "td");
91
+ i0.ɵɵtext(2);
92
+ i0.ɵɵelementEnd();
93
+ i0.ɵɵelementStart(3, "td");
94
+ i0.ɵɵtext(4);
95
+ i0.ɵɵelementEnd();
96
+ i0.ɵɵelementStart(5, "td");
97
+ i0.ɵɵtext(6);
98
+ i0.ɵɵpipe(7, "date");
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵelementStart(8, "td")(9, "span", 40);
101
+ i0.ɵɵtext(10);
102
+ i0.ɵɵelementEnd()();
103
+ i0.ɵɵelementStart(11, "td")(12, "code");
104
+ i0.ɵɵtext(13);
105
+ i0.ɵɵelementEnd()()();
106
+ } if (rf & 2) {
107
+ const exec_r3 = ctx.$implicit;
108
+ const ctx_r1 = i0.ɵɵnextContext(3);
109
+ i0.ɵɵadvance(2);
110
+ i0.ɵɵtextInterpolate(exec_r3.jobName);
111
+ i0.ɵɵadvance(2);
112
+ i0.ɵɵtextInterpolate(exec_r3.jobType);
113
+ i0.ɵɵadvance(2);
114
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(7, 5, exec_r3.nextRunAt, "short"));
115
+ i0.ɵɵadvance(4);
116
+ i0.ɵɵtextInterpolate(ctx_r1.formatTimeUntil(exec_r3.nextRunAt));
117
+ i0.ɵɵadvance(3);
118
+ i0.ɵɵtextInterpolate(exec_r3.cronExpression);
119
+ } }
120
+ function SchedulingMonitoringComponent_Conditional_10_Conditional_81_Template(rf, ctx) { if (rf & 1) {
121
+ i0.ɵɵelementStart(0, "table", 34)(1, "thead")(2, "tr")(3, "th");
122
+ i0.ɵɵtext(4, "Job Name");
123
+ i0.ɵɵelementEnd();
124
+ i0.ɵɵelementStart(5, "th");
125
+ i0.ɵɵtext(6, "Type");
126
+ i0.ɵɵelementEnd();
127
+ i0.ɵɵelementStart(7, "th");
128
+ i0.ɵɵtext(8, "Next Run");
129
+ i0.ɵɵelementEnd();
130
+ i0.ɵɵelementStart(9, "th");
131
+ i0.ɵɵtext(10, "Time Until");
132
+ i0.ɵɵelementEnd();
133
+ i0.ɵɵelementStart(11, "th");
134
+ i0.ɵɵtext(12, "Schedule");
135
+ i0.ɵɵelementEnd()()();
136
+ i0.ɵɵelementStart(13, "tbody");
137
+ i0.ɵɵrepeaterCreate(14, SchedulingMonitoringComponent_Conditional_10_Conditional_81_For_15_Template, 14, 8, "tr", null, _forTrack1);
138
+ i0.ɵɵelementEnd()();
139
+ } if (rf & 2) {
140
+ const ctx_r1 = i0.ɵɵnextContext(2);
141
+ i0.ɵɵadvance(14);
142
+ i0.ɵɵrepeater(ctx_r1.upcomingExecutions.slice(0, 10));
143
+ } }
144
+ function SchedulingMonitoringComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
145
+ i0.ɵɵelementStart(0, "div", 9)(1, "div", 10)(2, "div", 11);
146
+ i0.ɵɵelement(3, "i", 12);
147
+ i0.ɵɵelementEnd();
148
+ i0.ɵɵelementStart(4, "div", 13)(5, "div", 14);
149
+ i0.ɵɵtext(6);
150
+ i0.ɵɵelementEnd();
151
+ i0.ɵɵelementStart(7, "div", 15);
152
+ i0.ɵɵtext(8, "Total Active Jobs");
153
+ i0.ɵɵelementEnd()()();
154
+ i0.ɵɵelementStart(9, "div", 16)(10, "div", 11);
155
+ i0.ɵɵelement(11, "i", 17);
156
+ i0.ɵɵelementEnd();
157
+ i0.ɵɵelementStart(12, "div", 13)(13, "div", 14);
158
+ i0.ɵɵtext(14);
159
+ i0.ɵɵelementEnd();
160
+ i0.ɵɵelementStart(15, "div", 15);
161
+ i0.ɵɵtext(16, "Due in Next Hour");
162
+ i0.ɵɵelementEnd()()();
163
+ i0.ɵɵelementStart(17, "div", 18)(18, "div", 11);
164
+ i0.ɵɵelement(19, "i", 19);
165
+ i0.ɵɵelementEnd();
166
+ i0.ɵɵelementStart(20, "div", 13)(21, "div", 14);
167
+ i0.ɵɵtext(22);
168
+ i0.ɵɵelementEnd();
169
+ i0.ɵɵelementStart(23, "div", 15);
170
+ i0.ɵɵtext(24, "Executions (24h)");
171
+ i0.ɵɵelementEnd();
172
+ i0.ɵɵelementStart(25, "div", 20);
173
+ i0.ɵɵtext(26);
174
+ i0.ɵɵelementEnd()()();
175
+ i0.ɵɵelementStart(27, "div", 21)(28, "div", 11);
176
+ i0.ɵɵelement(29, "i", 22);
177
+ i0.ɵɵelementEnd();
178
+ i0.ɵɵelementStart(30, "div", 13)(31, "div", 14);
179
+ i0.ɵɵtext(32);
180
+ i0.ɵɵelementEnd();
181
+ i0.ɵɵelementStart(33, "div", 15);
182
+ i0.ɵɵtext(34, "Currently Running");
183
+ i0.ɵɵelementEnd()()();
184
+ i0.ɵɵelementStart(35, "div", 16)(36, "div", 11);
185
+ i0.ɵɵelement(37, "i", 23);
186
+ i0.ɵɵelementEnd();
187
+ i0.ɵɵelementStart(38, "div", 13)(39, "div", 14);
188
+ i0.ɵɵtext(40);
189
+ i0.ɵɵelementEnd();
190
+ i0.ɵɵelementStart(41, "div", 15);
191
+ i0.ɵɵtext(42, "Locked Jobs");
192
+ i0.ɵɵelementEnd()()();
193
+ i0.ɵɵelementStart(43, "div", 10)(44, "div", 11);
194
+ i0.ɵɵelement(45, "i", 24);
195
+ i0.ɵɵelementEnd();
196
+ i0.ɵɵelementStart(46, "div", 13)(47, "div", 14);
197
+ i0.ɵɵtext(48);
198
+ i0.ɵɵelementEnd();
199
+ i0.ɵɵelementStart(49, "div", 15);
200
+ i0.ɵɵtext(50, "Cost (24h)");
201
+ i0.ɵɵelementEnd()()();
202
+ i0.ɵɵelementStart(51, "div", 25)(52, "div", 11);
203
+ i0.ɵɵelement(53, "i", 26);
204
+ i0.ɵɵelementEnd();
205
+ i0.ɵɵelementStart(54, "div", 13)(55, "div", 14);
206
+ i0.ɵɵtext(56);
207
+ i0.ɵɵelementEnd();
208
+ i0.ɵɵelementStart(57, "div", 15);
209
+ i0.ɵɵtext(58, "Failures (7d)");
210
+ i0.ɵɵelementEnd();
211
+ i0.ɵɵelementStart(59, "div", 20);
212
+ i0.ɵɵtext(60);
213
+ i0.ɵɵelementEnd()()()();
214
+ i0.ɵɵelementStart(61, "div", 27)(62, "div", 28)(63, "div", 29)(64, "h3");
215
+ i0.ɵɵelement(65, "i", 30);
216
+ i0.ɵɵtext(66, " Live Executions");
217
+ i0.ɵɵelementEnd();
218
+ i0.ɵɵelementStart(67, "span", 31);
219
+ i0.ɵɵtext(68);
220
+ i0.ɵɵelementEnd()();
221
+ i0.ɵɵelementStart(69, "div", 32);
222
+ i0.ɵɵtemplate(70, SchedulingMonitoringComponent_Conditional_10_Conditional_70_Template, 4, 0, "div", 33)(71, SchedulingMonitoringComponent_Conditional_10_Conditional_71_Template, 16, 0, "table", 34);
223
+ i0.ɵɵelementEnd()();
224
+ i0.ɵɵelementStart(72, "div", 35)(73, "div", 29)(74, "h3");
225
+ i0.ɵɵelement(75, "i", 36);
226
+ i0.ɵɵtext(76, " Upcoming Executions (Next 24h)");
227
+ i0.ɵɵelementEnd();
228
+ i0.ɵɵelementStart(77, "span", 31);
229
+ i0.ɵɵtext(78);
230
+ i0.ɵɵelementEnd()();
231
+ i0.ɵɵelementStart(79, "div", 32);
232
+ i0.ɵɵtemplate(80, SchedulingMonitoringComponent_Conditional_10_Conditional_80_Template, 4, 0, "div", 33)(81, SchedulingMonitoringComponent_Conditional_10_Conditional_81_Template, 16, 0, "table", 34);
233
+ i0.ɵɵelementEnd()()();
234
+ } if (rf & 2) {
235
+ const ctx_r1 = i0.ɵɵnextContext();
236
+ i0.ɵɵadvance(6);
237
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.totalActiveJobs);
238
+ i0.ɵɵadvance(8);
239
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.jobsDueInNextHour);
240
+ i0.ɵɵadvance(8);
241
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.recentExecutions24h);
242
+ i0.ɵɵadvance(4);
243
+ i0.ɵɵtextInterpolate1(" Success Rate: ", ctx_r1.formatPercentage(ctx_r1.kpis.successRate24h), " ");
244
+ i0.ɵɵadvance(6);
245
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.currentlyRunning);
246
+ i0.ɵɵadvance(8);
247
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.lockedJobs);
248
+ i0.ɵɵadvance(8);
249
+ i0.ɵɵtextInterpolate(ctx_r1.formatCost(ctx_r1.kpis.totalCost24h));
250
+ i0.ɵɵadvance(3);
251
+ i0.ɵɵclassProp("error", ctx_r1.kpis.failureRate7d > 0.1);
252
+ i0.ɵɵadvance(5);
253
+ i0.ɵɵtextInterpolate(ctx_r1.kpis.totalFailures7d);
254
+ i0.ɵɵadvance(4);
255
+ i0.ɵɵtextInterpolate1(" Rate: ", ctx_r1.formatPercentage(ctx_r1.kpis.failureRate7d), " ");
256
+ i0.ɵɵadvance(8);
257
+ i0.ɵɵtextInterpolate(ctx_r1.liveExecutions.length);
258
+ i0.ɵɵadvance(2);
259
+ i0.ɵɵconditional(ctx_r1.liveExecutions.length === 0 ? 70 : 71);
260
+ i0.ɵɵadvance(8);
261
+ i0.ɵɵtextInterpolate(ctx_r1.upcomingExecutions.length);
262
+ i0.ɵɵadvance(2);
263
+ i0.ɵɵconditional(ctx_r1.upcomingExecutions.length === 0 ? 80 : 81);
264
+ } }
265
+ export class SchedulingMonitoringComponent {
266
+ schedulingService;
267
+ cdr;
268
+ initialState;
269
+ stateChange = new EventEmitter();
270
+ kpis = null;
271
+ liveExecutions = [];
272
+ upcomingExecutions = [];
273
+ isLoading = false;
274
+ autoRefreshInterval = 30000; // 30 seconds
275
+ autoRefreshEnabled = true;
276
+ destroy$ = new Subject();
277
+ refreshTimer;
278
+ constructor(schedulingService, cdr) {
279
+ this.schedulingService = schedulingService;
280
+ this.cdr = cdr;
281
+ }
282
+ ngOnInit() {
283
+ this.loadState();
284
+ this.loadData();
285
+ this.setupAutoRefresh();
286
+ }
287
+ ngOnDestroy() {
288
+ this.destroy$.next();
289
+ this.destroy$.complete();
290
+ if (this.refreshTimer) {
291
+ clearInterval(this.refreshTimer);
292
+ }
293
+ }
294
+ loadState() {
295
+ if (this.initialState) {
296
+ this.autoRefreshInterval = this.initialState.autoRefreshInterval || 30000;
297
+ this.autoRefreshEnabled = this.initialState.autoRefreshEnabled !== false;
298
+ }
299
+ }
300
+ loadData() {
301
+ this.isLoading = true;
302
+ this.schedulingService.kpis$
303
+ .pipe(takeUntil(this.destroy$))
304
+ .subscribe({
305
+ next: (kpis) => {
306
+ this.kpis = kpis;
307
+ this.isLoading = false;
308
+ this.cdr.markForCheck();
309
+ },
310
+ error: (error) => {
311
+ console.error('Error loading KPIs:', error);
312
+ this.isLoading = false;
313
+ this.cdr.markForCheck();
314
+ }
315
+ });
316
+ this.schedulingService.liveExecutions$
317
+ .pipe(takeUntil(this.destroy$))
318
+ .subscribe({
319
+ next: (executions) => {
320
+ this.liveExecutions = executions;
321
+ this.cdr.markForCheck();
322
+ },
323
+ error: (error) => {
324
+ console.error('Error loading live executions:', error);
325
+ this.cdr.markForCheck();
326
+ }
327
+ });
328
+ this.schedulingService.upcomingExecutions$
329
+ .pipe(takeUntil(this.destroy$))
330
+ .subscribe({
331
+ next: (executions) => {
332
+ this.upcomingExecutions = executions;
333
+ this.cdr.markForCheck();
334
+ },
335
+ error: (error) => {
336
+ console.error('Error loading upcoming executions:', error);
337
+ this.cdr.markForCheck();
338
+ }
339
+ });
340
+ }
341
+ setupAutoRefresh() {
342
+ if (this.autoRefreshEnabled) {
343
+ this.refreshTimer = setInterval(() => {
344
+ this.schedulingService.refresh();
345
+ }, this.autoRefreshInterval);
346
+ }
347
+ }
348
+ onRefresh() {
349
+ this.schedulingService.refresh();
350
+ }
351
+ toggleAutoRefresh() {
352
+ this.autoRefreshEnabled = !this.autoRefreshEnabled;
353
+ if (this.refreshTimer) {
354
+ clearInterval(this.refreshTimer);
355
+ }
356
+ if (this.autoRefreshEnabled) {
357
+ this.setupAutoRefresh();
358
+ }
359
+ this.emitStateChange();
360
+ }
361
+ setRefreshInterval(interval) {
362
+ this.autoRefreshInterval = interval;
363
+ if (this.refreshTimer) {
364
+ clearInterval(this.refreshTimer);
365
+ }
366
+ if (this.autoRefreshEnabled) {
367
+ this.setupAutoRefresh();
368
+ }
369
+ this.emitStateChange();
370
+ }
371
+ getStatusClass(status) {
372
+ switch (status) {
373
+ case 'Running': return 'status-running';
374
+ case 'Completed': return 'status-success';
375
+ case 'Failed': return 'status-error';
376
+ case 'Cancelled': return 'status-warning';
377
+ case 'Timeout': return 'status-warning';
378
+ default: return 'status-info';
379
+ }
380
+ }
381
+ getStatusIcon(status) {
382
+ switch (status) {
383
+ case 'Running': return 'fa-spinner fa-spin';
384
+ case 'Completed': return 'fa-check-circle';
385
+ case 'Failed': return 'fa-exclamation-circle';
386
+ case 'Cancelled': return 'fa-ban';
387
+ case 'Timeout': return 'fa-clock';
388
+ default: return 'fa-question-circle';
389
+ }
390
+ }
391
+ formatDuration(ms) {
392
+ if (!ms)
393
+ return 'N/A';
394
+ const seconds = Math.floor(ms / 1000);
395
+ if (seconds < 60)
396
+ return `${seconds}s`;
397
+ const minutes = Math.floor(seconds / 60);
398
+ if (minutes < 60)
399
+ return `${minutes}m ${seconds % 60}s`;
400
+ const hours = Math.floor(minutes / 60);
401
+ return `${hours}h ${minutes % 60}m`;
402
+ }
403
+ formatTimeAgo(date) {
404
+ const now = new Date();
405
+ const diffMs = now.getTime() - date.getTime();
406
+ const diffSeconds = Math.floor(diffMs / 1000);
407
+ const diffMinutes = Math.floor(diffSeconds / 60);
408
+ const diffHours = Math.floor(diffMinutes / 60);
409
+ if (diffSeconds < 60)
410
+ return `${diffSeconds}s ago`;
411
+ if (diffMinutes < 60)
412
+ return `${diffMinutes}m ago`;
413
+ if (diffHours < 24)
414
+ return `${diffHours}h ago`;
415
+ return date.toLocaleDateString();
416
+ }
417
+ formatTimeUntil(date) {
418
+ const now = new Date();
419
+ const diffMs = date.getTime() - now.getTime();
420
+ const diffSeconds = Math.floor(diffMs / 1000);
421
+ const diffMinutes = Math.floor(diffSeconds / 60);
422
+ const diffHours = Math.floor(diffMinutes / 60);
423
+ if (diffMs < 0)
424
+ return 'Overdue!';
425
+ if (diffSeconds < 60)
426
+ return `${diffSeconds}s`;
427
+ if (diffMinutes < 60)
428
+ return `${diffMinutes}m`;
429
+ if (diffHours < 24)
430
+ return `${diffHours}h ${diffMinutes % 60}m`;
431
+ return date.toLocaleDateString();
432
+ }
433
+ formatCost(cost) {
434
+ if (cost < 0.01)
435
+ return '$' + cost.toFixed(4);
436
+ if (cost < 1)
437
+ return '$' + cost.toFixed(3);
438
+ return '$' + cost.toFixed(2);
439
+ }
440
+ formatPercentage(value) {
441
+ return (value * 100).toFixed(1) + '%';
442
+ }
443
+ emitStateChange() {
444
+ const state = {
445
+ autoRefreshInterval: this.autoRefreshInterval,
446
+ autoRefreshEnabled: this.autoRefreshEnabled
447
+ };
448
+ this.stateChange.emit(state);
449
+ }
450
+ static ɵfac = function SchedulingMonitoringComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SchedulingMonitoringComponent)(i0.ɵɵdirectiveInject(i1.SchedulingInstrumentationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
451
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingMonitoringComponent, selectors: [["app-scheduling-monitoring"]], inputs: { initialState: "initialState" }, outputs: { stateChange: "stateChange" }, decls: 11, vars: 10, consts: [[1, "scheduling-monitoring"], [1, "monitoring-header"], [1, "header-actions"], ["kendoButton", "", 3, "click", "disabled"], [1, "fa-solid", "fa-refresh"], ["kendoButton", "", 3, "click"], [1, "fa-solid"], [1, "loading-overlay"], ["text", "Loading monitoring data...", "size", "medium"], [1, "kpi-grid"], [1, "kpi-card", "primary"], [1, "kpi-icon"], [1, "fa-solid", "fa-calendar-check"], [1, "kpi-content"], [1, "kpi-value"], [1, "kpi-label"], [1, "kpi-card", "warning"], [1, "fa-solid", "fa-clock"], [1, "kpi-card", "info"], [1, "fa-solid", "fa-chart-bar"], [1, "kpi-breakdown"], [1, "kpi-card", "success"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-lock"], [1, "fa-solid", "fa-dollar-sign"], [1, "kpi-card"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "content-panels"], [1, "panel", "live-executions"], [1, "panel-header"], [1, "fa-solid", "fa-bolt"], [1, "badge"], [1, "panel-content"], [1, "empty-state"], [1, "execution-table"], [1, "panel", "upcoming-executions"], [1, "fa-solid", "fa-calendar-alt"], [1, "fa-solid", "fa-inbox"], [1, "status-badge", 3, "ngClass"], [1, "fa-solid", 3, "ngClass"], [1, "time-until"]], template: function SchedulingMonitoringComponent_Template(rf, ctx) { if (rf & 1) {
452
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "button", 3);
453
+ i0.ɵɵlistener("click", function SchedulingMonitoringComponent_Template_button_click_3_listener() { return ctx.onRefresh(); });
454
+ i0.ɵɵelement(4, "i", 4);
455
+ i0.ɵɵtext(5, " Refresh ");
456
+ i0.ɵɵelementEnd();
457
+ i0.ɵɵelementStart(6, "button", 5);
458
+ i0.ɵɵlistener("click", function SchedulingMonitoringComponent_Template_button_click_6_listener() { return ctx.toggleAutoRefresh(); });
459
+ i0.ɵɵelement(7, "i", 6);
460
+ i0.ɵɵtext(8);
461
+ i0.ɵɵelementEnd()()();
462
+ i0.ɵɵtemplate(9, SchedulingMonitoringComponent_Conditional_9_Template, 2, 0, "div", 7)(10, SchedulingMonitoringComponent_Conditional_10_Template, 82, 15);
463
+ i0.ɵɵelementEnd();
464
+ } if (rf & 2) {
465
+ i0.ɵɵadvance(3);
466
+ i0.ɵɵproperty("disabled", ctx.isLoading);
467
+ i0.ɵɵadvance();
468
+ i0.ɵɵclassProp("fa-spin", ctx.isLoading);
469
+ i0.ɵɵadvance(3);
470
+ i0.ɵɵclassProp("fa-pause", ctx.autoRefreshEnabled)("fa-play", !ctx.autoRefreshEnabled);
471
+ i0.ɵɵadvance();
472
+ i0.ɵɵtextInterpolate1(" Auto-Refresh: ", ctx.autoRefreshEnabled ? "ON" : "OFF", " ");
473
+ i0.ɵɵadvance();
474
+ i0.ɵɵconditional(ctx.isLoading && !ctx.kpis ? 9 : -1);
475
+ i0.ɵɵadvance();
476
+ i0.ɵɵconditional(ctx.kpis ? 10 : -1);
477
+ } }, dependencies: [i2.NgClass, i3.ButtonComponent, i4.LoadingComponent, i2.DatePipe], styles: [".scheduling-monitoring[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.monitoring-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.monitoring-header[_ngcontent-%COMP%] .header-actions[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n}\n\n.loading-overlay[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px;\n color: #6c757d;\n}\n.loading-overlay[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #0078d4;\n margin-bottom: 20px;\n}\n\n.kpi-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.kpi-card[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n padding: 20px;\n display: flex;\n gap: 16px;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: transform 0.2s;\n}\n.kpi-card[_ngcontent-%COMP%]:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n}\n.kpi-card.primary[_ngcontent-%COMP%] {\n border-left: 4px solid #0078d4;\n}\n.kpi-card.primary[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n color: #0078d4;\n}\n.kpi-card.success[_ngcontent-%COMP%] {\n border-left: 4px solid #107c10;\n}\n.kpi-card.success[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n color: #107c10;\n}\n.kpi-card.warning[_ngcontent-%COMP%] {\n border-left: 4px solid #ff8c00;\n}\n.kpi-card.warning[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n color: #ff8c00;\n}\n.kpi-card.error[_ngcontent-%COMP%] {\n border-left: 4px solid #d13438;\n}\n.kpi-card.error[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n color: #d13438;\n}\n.kpi-card.info[_ngcontent-%COMP%] {\n border-left: 4px solid #5c2d91;\n}\n.kpi-card.info[_ngcontent-%COMP%] .kpi-icon[_ngcontent-%COMP%] {\n color: #5c2d91;\n}\n\n.kpi-icon[_ngcontent-%COMP%] {\n font-size: 32px;\n}\n\n.kpi-content[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.kpi-value[_ngcontent-%COMP%] {\n font-size: 28px;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 4px;\n}\n\n.kpi-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6c757d;\n font-weight: 500;\n}\n\n.kpi-breakdown[_ngcontent-%COMP%] {\n font-size: 11px;\n color: #6c757d;\n margin-top: 4px;\n}\n\n.content-panels[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n.panel[_ngcontent-%COMP%] {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n min-height: 300px;\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #dee2e6;\n}\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #0078d4;\n}\n.panel-header[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%] {\n background: #0078d4;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n padding: 20px;\n}\n\n.execution-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n.execution-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] {\n background: #f8f9fa;\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.execution-table[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n padding: 12px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n border-bottom: 2px solid #dee2e6;\n}\n.execution-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] {\n border-bottom: 1px solid #dee2e6;\n transition: background 0.2s;\n}\n.execution-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n}\n.execution-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px;\n font-size: 13px;\n}\n.execution-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%] td[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 12px;\n font-family: \"Courier New\", monospace;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n.status-badge.status-running[_ngcontent-%COMP%] {\n background: #cfe2ff;\n color: #0d6efd;\n}\n.status-badge.status-success[_ngcontent-%COMP%] {\n background: #d1e7dd;\n color: #0f5132;\n}\n.status-badge.status-error[_ngcontent-%COMP%] {\n background: #f8d7da;\n color: #842029;\n}\n.status-badge.status-warning[_ngcontent-%COMP%] {\n background: #fff3cd;\n color: #664d03;\n}\n.status-badge.status-info[_ngcontent-%COMP%] {\n background: #cff4fc;\n color: #055160;\n}\n\n.time-until[_ngcontent-%COMP%] {\n font-weight: 600;\n color: #0078d4;\n}\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: #6c757d;\n}\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n}\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n}"] });
478
+ }
479
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchedulingMonitoringComponent, [{
480
+ type: Component,
481
+ args: [{ selector: 'app-scheduling-monitoring', template: "<div class=\"scheduling-monitoring\">\n <div class=\"monitoring-header\">\n <div class=\"header-actions\">\n <button kendoButton (click)=\"onRefresh()\" [disabled]=\"isLoading\">\n <i class=\"fa-solid fa-refresh\" [class.fa-spin]=\"isLoading\"></i>\n Refresh\n </button>\n <button kendoButton (click)=\"toggleAutoRefresh()\">\n <i class=\"fa-solid\" [class.fa-pause]=\"autoRefreshEnabled\" [class.fa-play]=\"!autoRefreshEnabled\"></i>\n Auto-Refresh: {{ autoRefreshEnabled ? 'ON' : 'OFF' }}\n </button>\n </div>\n </div>\n\n @if (isLoading && !kpis) {\n <div class=\"loading-overlay\">\n <mj-loading text=\"Loading monitoring data...\" size=\"medium\"></mj-loading>\n </div>\n }\n\n @if (kpis) {\n <div class=\"kpi-grid\">\n <div class=\"kpi-card primary\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-calendar-check\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.totalActiveJobs }}</div>\n <div class=\"kpi-label\">Total Active Jobs</div>\n </div>\n </div>\n\n <div class=\"kpi-card warning\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-clock\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.jobsDueInNextHour }}</div>\n <div class=\"kpi-label\">Due in Next Hour</div>\n </div>\n </div>\n\n <div class=\"kpi-card info\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-chart-bar\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.recentExecutions24h }}</div>\n <div class=\"kpi-label\">Executions (24h)</div>\n <div class=\"kpi-breakdown\">\n Success Rate: {{ formatPercentage(kpis.successRate24h) }}\n </div>\n </div>\n </div>\n\n <div class=\"kpi-card success\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.currentlyRunning }}</div>\n <div class=\"kpi-label\">Currently Running</div>\n </div>\n </div>\n\n <div class=\"kpi-card warning\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-lock\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.lockedJobs }}</div>\n <div class=\"kpi-label\">Locked Jobs</div>\n </div>\n </div>\n\n <div class=\"kpi-card primary\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-dollar-sign\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ formatCost(kpis.totalCost24h) }}</div>\n <div class=\"kpi-label\">Cost (24h)</div>\n </div>\n </div>\n\n <div class=\"kpi-card\" [class.error]=\"kpis.failureRate7d > 0.1\">\n <div class=\"kpi-icon\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n </div>\n <div class=\"kpi-content\">\n <div class=\"kpi-value\">{{ kpis.totalFailures7d }}</div>\n <div class=\"kpi-label\">Failures (7d)</div>\n <div class=\"kpi-breakdown\">\n Rate: {{ formatPercentage(kpis.failureRate7d) }}\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"content-panels\">\n <div class=\"panel live-executions\">\n <div class=\"panel-header\">\n <h3><i class=\"fa-solid fa-bolt\"></i> Live Executions</h3>\n <span class=\"badge\">{{ liveExecutions.length }}</span>\n </div>\n <div class=\"panel-content\">\n @if (liveExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No recent executions</p>\n </div>\n } @else {\n <table class=\"execution-table\">\n <thead>\n <tr>\n <th>Status</th>\n <th>Job Name</th>\n <th>Type</th>\n <th>Started</th>\n <th>Duration</th>\n </tr>\n </thead>\n <tbody>\n @for (exec of liveExecutions.slice(0, 10); track exec.id) {\n <tr>\n <td>\n <span class=\"status-badge\" [ngClass]=\"getStatusClass(exec.status)\">\n <i class=\"fa-solid\" [ngClass]=\"getStatusIcon(exec.status)\"></i>\n {{ exec.status }}\n </span>\n </td>\n <td>{{ exec.jobName }}</td>\n <td>{{ exec.jobType }}</td>\n <td>{{ formatTimeAgo(exec.startedAt) }}</td>\n <td>{{ formatDuration(exec.duration) }}</td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n </div>\n\n <div class=\"panel upcoming-executions\">\n <div class=\"panel-header\">\n <h3><i class=\"fa-solid fa-calendar-alt\"></i> Upcoming Executions (Next 24h)</h3>\n <span class=\"badge\">{{ upcomingExecutions.length }}</span>\n </div>\n <div class=\"panel-content\">\n @if (upcomingExecutions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-inbox\"></i>\n <p>No upcoming executions in next 24 hours</p>\n </div>\n } @else {\n <table class=\"execution-table\">\n <thead>\n <tr>\n <th>Job Name</th>\n <th>Type</th>\n <th>Next Run</th>\n <th>Time Until</th>\n <th>Schedule</th>\n </tr>\n </thead>\n <tbody>\n @for (exec of upcomingExecutions.slice(0, 10); track exec.jobId) {\n <tr>\n <td>{{ exec.jobName }}</td>\n <td>{{ exec.jobType }}</td>\n <td>{{ exec.nextRunAt | date: 'short' }}</td>\n <td>\n <span class=\"time-until\">{{ formatTimeUntil(exec.nextRunAt) }}</span>\n </td>\n <td>\n <code>{{ exec.cronExpression }}</code>\n </td>\n </tr>\n }\n </tbody>\n </table>\n }\n </div>\n </div>\n </div>\n }\n</div>\n", styles: [".scheduling-monitoring {\n height: 100%;\n display: flex;\n flex-direction: column;\n gap: 20px;\n}\n\n.monitoring-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.monitoring-header .header-actions {\n display: flex;\n gap: 10px;\n}\n\n.loading-overlay {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px;\n color: #6c757d;\n}\n.loading-overlay i {\n color: #0078d4;\n margin-bottom: 20px;\n}\n\n.kpi-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.kpi-card {\n background: white;\n border-radius: 8px;\n padding: 20px;\n display: flex;\n gap: 16px;\n align-items: center;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n transition: transform 0.2s;\n}\n.kpi-card:hover {\n transform: translateY(-2px);\n box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);\n}\n.kpi-card.primary {\n border-left: 4px solid #0078d4;\n}\n.kpi-card.primary .kpi-icon {\n color: #0078d4;\n}\n.kpi-card.success {\n border-left: 4px solid #107c10;\n}\n.kpi-card.success .kpi-icon {\n color: #107c10;\n}\n.kpi-card.warning {\n border-left: 4px solid #ff8c00;\n}\n.kpi-card.warning .kpi-icon {\n color: #ff8c00;\n}\n.kpi-card.error {\n border-left: 4px solid #d13438;\n}\n.kpi-card.error .kpi-icon {\n color: #d13438;\n}\n.kpi-card.info {\n border-left: 4px solid #5c2d91;\n}\n.kpi-card.info .kpi-icon {\n color: #5c2d91;\n}\n\n.kpi-icon {\n font-size: 32px;\n}\n\n.kpi-content {\n flex: 1;\n}\n\n.kpi-value {\n font-size: 28px;\n font-weight: 600;\n line-height: 1;\n margin-bottom: 4px;\n}\n\n.kpi-label {\n font-size: 13px;\n color: #6c757d;\n font-weight: 500;\n}\n\n.kpi-breakdown {\n font-size: 11px;\n color: #6c757d;\n margin-top: 4px;\n}\n\n.content-panels {\n display: flex;\n flex-direction: column;\n gap: 20px;\n flex: 1;\n min-height: 0;\n}\n\n.panel {\n background: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\n display: flex;\n flex-direction: column;\n min-height: 300px;\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid #dee2e6;\n}\n.panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.panel-header h3 i {\n color: #0078d4;\n}\n.panel-header .badge {\n background: #0078d4;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.panel-content {\n flex: 1;\n overflow: auto;\n padding: 20px;\n}\n\n.execution-table {\n width: 100%;\n border-collapse: collapse;\n}\n.execution-table thead {\n background: #f8f9fa;\n position: sticky;\n top: 0;\n z-index: 1;\n}\n.execution-table thead th {\n padding: 12px;\n text-align: left;\n font-size: 13px;\n font-weight: 600;\n color: #495057;\n border-bottom: 2px solid #dee2e6;\n}\n.execution-table tbody tr {\n border-bottom: 1px solid #dee2e6;\n transition: background 0.2s;\n}\n.execution-table tbody tr:hover {\n background: #f8f9fa;\n}\n.execution-table tbody tr td {\n padding: 12px;\n font-size: 13px;\n}\n.execution-table tbody tr td code {\n background: #f8f9fa;\n padding: 2px 6px;\n border-radius: 3px;\n font-size: 12px;\n font-family: \"Courier New\", monospace;\n}\n\n.status-badge {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n.status-badge.status-running {\n background: #cfe2ff;\n color: #0d6efd;\n}\n.status-badge.status-success {\n background: #d1e7dd;\n color: #0f5132;\n}\n.status-badge.status-error {\n background: #f8d7da;\n color: #842029;\n}\n.status-badge.status-warning {\n background: #fff3cd;\n color: #664d03;\n}\n.status-badge.status-info {\n background: #cff4fc;\n color: #055160;\n}\n\n.time-until {\n font-weight: 600;\n color: #0078d4;\n}\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: #6c757d;\n}\n.empty-state i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.3;\n}\n.empty-state p {\n margin: 0;\n font-size: 14px;\n}\n"] }]
482
+ }], () => [{ type: i1.SchedulingInstrumentationService }, { type: i0.ChangeDetectorRef }], { initialState: [{
483
+ type: Input
484
+ }], stateChange: [{
485
+ type: Output
486
+ }] }); })();
487
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SchedulingMonitoringComponent, { className: "SchedulingMonitoringComponent" }); })();
488
+ //# sourceMappingURL=scheduling-monitoring.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scheduling-monitoring.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-monitoring.component.ts","../../../src/Scheduling/components/scheduling-monitoring.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,KAAK,EAAE,MAAM,EAAE,YAAY,EAAqB,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;;;;;;;;;ICavC,8BAA6B;IAC3B,gCAAyE;IAC3E,iBAAM;;;IA0FE,+BAAyB;IACvB,wBAAiC;IACjC,yBAAG;IAAA,oCAAoB;IACzB,AADyB,iBAAI,EACvB;;;IAgBI,AADF,AADF,0BAAI,SACE,eACiE;IACjE,wBAA+D;IAC/D,YACF;IACF,AADE,iBAAO,EACJ;IACL,0BAAI;IAAA,YAAkB;IAAA,iBAAK;IAC3B,0BAAI;IAAA,YAAkB;IAAA,iBAAK;IAC3B,0BAAI;IAAA,aAAmC;IAAA,iBAAK;IAC5C,2BAAI;IAAA,aAAmC;IACzC,AADyC,iBAAK,EACzC;;;;IAT0B,eAAuC;IAAvC,+DAAuC;IAC5C,cAAsC;IAAtC,8DAAsC;IAC1D,cACF;IADE,+CACF;IAEE,eAAkB;IAAlB,qCAAkB;IAClB,eAAkB;IAAlB,qCAAkB;IAClB,eAAmC;IAAnC,6DAAmC;IACnC,eAAmC;IAAnC,6DAAmC;;;IAnBzC,AADF,AADF,AADF,iCAA+B,YACtB,SACD,SACE;IAAA,sBAAM;IAAA,iBAAK;IACf,0BAAI;IAAA,wBAAQ;IAAA,iBAAK;IACjB,0BAAI;IAAA,oBAAI;IAAA,iBAAK;IACb,0BAAI;IAAA,wBAAO;IAAA,iBAAK;IAChB,2BAAI;IAAA,yBAAQ;IAEhB,AADE,AADc,iBAAK,EACd,EACC;IACR,8BAAO;IACL,mIAaC;IAEL,AADE,iBAAQ,EACF;;;IAfJ,gBAaC;IAbD,cAAA,4BAAqB,CAAC,EAAE,EAAE,CAAC,CAa1B;;;IAcL,+BAAyB;IACvB,wBAAiC;IACjC,yBAAG;IAAA,uDAAuC;IAC5C,AAD4C,iBAAI,EAC1C;;;IAeE,AADF,0BAAI,SACE;IAAA,YAAkB;IAAA,iBAAK;IAC3B,0BAAI;IAAA,YAAkB;IAAA,iBAAK;IAC3B,0BAAI;IAAA,YAAoC;;IAAA,iBAAK;IAE3C,AADF,0BAAI,eACuB;IAAA,aAAqC;IAChE,AADgE,iBAAO,EAClE;IAEH,AADF,2BAAI,YACI;IAAA,aAAyB;IAEnC,AADE,AADiC,iBAAO,EACnC,EACF;;;;IATC,eAAkB;IAAlB,qCAAkB;IAClB,eAAkB;IAAlB,qCAAkB;IAClB,eAAoC;IAApC,sEAAoC;IAEb,eAAqC;IAArC,+DAAqC;IAGxD,eAAyB;IAAzB,4CAAyB;;;IAjBnC,AADF,AADF,AADF,iCAA+B,YACtB,SACD,SACE;IAAA,wBAAQ;IAAA,iBAAK;IACjB,0BAAI;IAAA,oBAAI;IAAA,iBAAK;IACb,0BAAI;IAAA,wBAAQ;IAAA,iBAAK;IACjB,0BAAI;IAAA,2BAAU;IAAA,iBAAK;IACnB,2BAAI;IAAA,yBAAQ;IAEhB,AADE,AADc,iBAAK,EACd,EACC;IACR,8BAAO;IACL,mIAYC;IAEL,AADE,iBAAQ,EACF;;;IAdJ,gBAYC;IAZD,cAAA,gCAAyB,CAAC,EAAE,EAAE,CAAC,CAY9B;;;IA3JT,AADF,AADF,8BAAsB,cACU,cACN;IACpB,wBAA0C;IAC5C,iBAAM;IAEJ,AADF,+BAAyB,cACA;IAAA,YAA0B;IAAA,iBAAM;IACvD,+BAAuB;IAAA,iCAAiB;IAE5C,AADE,AAD0C,iBAAM,EAC1C,EACF;IAGJ,AADF,+BAA8B,eACN;IACpB,yBAAiC;IACnC,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAA4B;IAAA,iBAAM;IACzD,gCAAuB;IAAA,iCAAgB;IAE3C,AADE,AADyC,iBAAM,EACzC,EACF;IAGJ,AADF,gCAA2B,eACH;IACpB,yBAAqC;IACvC,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAA8B;IAAA,iBAAM;IAC3D,gCAAuB;IAAA,iCAAgB;IAAA,iBAAM;IAC7C,gCAA2B;IACzB,aACF;IAEJ,AADE,AADE,iBAAM,EACF,EACF;IAGJ,AADF,gCAA8B,eACN;IACpB,yBAA2C;IAC7C,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAA2B;IAAA,iBAAM;IACxD,gCAAuB;IAAA,kCAAiB;IAE5C,AADE,AAD0C,iBAAM,EAC1C,EACF;IAGJ,AADF,gCAA8B,eACN;IACpB,yBAAgC;IAClC,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAAqB;IAAA,iBAAM;IAClD,gCAAuB;IAAA,4BAAW;IAEtC,AADE,AADoC,iBAAM,EACpC,EACF;IAGJ,AADF,gCAA8B,eACN;IACpB,yBAAuC;IACzC,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAAmC;IAAA,iBAAM;IAChE,gCAAuB;IAAA,2BAAU;IAErC,AADE,AADmC,iBAAM,EACnC,EACF;IAGJ,AADF,gCAA+D,eACvC;IACpB,yBAAgD;IAClD,iBAAM;IAEJ,AADF,gCAAyB,eACA;IAAA,aAA0B;IAAA,iBAAM;IACvD,gCAAuB;IAAA,8BAAa;IAAA,iBAAM;IAC1C,gCAA2B;IACzB,aACF;IAGN,AADE,AADE,AADE,iBAAM,EACF,EACF,EACF;IAKA,AADF,AADF,AADF,gCAA4B,eACS,eACP,UACpB;IAAA,yBAAgC;IAAC,iCAAe;IAAA,iBAAK;IACzD,iCAAoB;IAAA,aAA2B;IACjD,AADiD,iBAAO,EAClD;IACN,gCAA2B;IAMvB,AALF,wGAAmC,8FAK1B;IA8Bb,AADE,iBAAM,EACF;IAIF,AADF,AADF,gCAAuC,eACX,UACpB;IAAA,yBAAwC;IAAC,gDAA8B;IAAA,iBAAK;IAChF,iCAAoB;IAAA,aAA+B;IACrD,AADqD,iBAAO,EACtD;IACN,gCAA2B;IAMvB,AALF,wGAAuC,8FAK9B;IA8Bf,AADE,AADE,iBAAM,EACF,EACF;;;IA7JuB,eAA0B;IAA1B,iDAA0B;IAU1B,eAA4B;IAA5B,mDAA4B;IAU5B,eAA8B;IAA9B,qDAA8B;IAGnD,eACF;IADE,kGACF;IASuB,eAA2B;IAA3B,kDAA2B;IAU3B,eAAqB;IAArB,4CAAqB;IAUrB,eAAmC;IAAnC,iEAAmC;IAKxC,eAAwC;IAAxC,wDAAwC;IAKnC,eAA0B;IAA1B,iDAA0B;IAG/C,eACF;IADE,yFACF;IASoB,eAA2B;IAA3B,kDAA2B;IAG/C,eAiCC;IAjCD,8DAiCC;IAOmB,eAA+B;IAA/B,sDAA+B;IAGnD,eAgCC;IAhCD,kEAgCC;;AD3KX,MAAM,OAAO,6BAA6B;IAe9B;IACA;IAfD,YAAY,CAAM;IACjB,WAAW,GAAG,IAAI,YAAY,EAAO,CAAC;IAEzC,IAAI,GAA0B,IAAI,CAAC;IACnC,cAAc,GAAmB,EAAE,CAAC;IACpC,kBAAkB,GAAwB,EAAE,CAAC;IAC7C,SAAS,GAAG,KAAK,CAAC;IAClB,mBAAmB,GAAW,KAAK,CAAC,CAAC,aAAa;IAClD,kBAAkB,GAAG,IAAI,CAAC;IAEzB,QAAQ,GAAG,IAAI,OAAO,EAAQ,CAAC;IAC/B,YAAY,CAAM;IAE1B,YACU,iBAAmD,EACnD,GAAsB;QADtB,sBAAiB,GAAjB,iBAAiB,CAAkC;QACnD,QAAG,GAAH,GAAG,CAAmB;IAC7B,CAAC;IAEJ,QAAQ;QACN,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,WAAW;QACT,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAEO,SAAS;QACf,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,IAAI,KAAK,CAAC;YAC1E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,KAAK,KAAK,CAAC;QAC3E,CAAC;IACH,CAAC;IAEO,QAAQ;QACd,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,iBAAiB,CAAC,KAAK;aACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE;gBACb,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,KAAK,CAAC,CAAC;gBAC5C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;gBACvB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;QAEL,IAAI,CAAC,iBAAiB,CAAC,eAAe;aACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE;gBACnB,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;QAEL,IAAI,CAAC,iBAAiB,CAAC,mBAAmB;aACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B,SAAS,CAAC;YACT,IAAI,EAAE,CAAC,UAAU,EAAE,EAAE;gBACnB,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB;QACtB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;gBACnC,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;YACnC,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEM,SAAS;QACd,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;IACnC,CAAC;IAEM,iBAAiB;QACtB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACnD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,kBAAkB,CAAC,QAAgB;QACxC,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC;QACD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,MAAc;QAClC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACxC,KAAK,WAAW,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAC1C,KAAK,QAAQ,CAAC,CAAC,OAAO,cAAc,CAAC;YACrC,KAAK,WAAW,CAAC,CAAC,OAAO,gBAAgB,CAAC;YAC1C,KAAK,SAAS,CAAC,CAAC,OAAO,gBAAgB,CAAC;YACxC,OAAO,CAAC,CAAC,OAAO,aAAa,CAAC;QAChC,CAAC;IACH,CAAC;IAEM,aAAa,CAAC,MAAc;QACjC,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,SAAS,CAAC,CAAC,OAAO,oBAAoB,CAAC;YAC5C,KAAK,WAAW,CAAC,CAAC,OAAO,iBAAiB,CAAC;YAC3C,KAAK,QAAQ,CAAC,CAAC,OAAO,uBAAuB,CAAC;YAC9C,KAAK,WAAW,CAAC,CAAC,OAAO,QAAQ,CAAC;YAClC,KAAK,SAAS,CAAC,CAAC,OAAO,UAAU,CAAC;YAClC,OAAO,CAAC,CAAC,OAAO,oBAAoB,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,cAAc,CAAC,EAAW;QAC/B,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACzC,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACvC,OAAO,GAAG,KAAK,KAAK,OAAO,GAAG,EAAE,GAAG,CAAC;IACtC,CAAC;IAEM,aAAa,CAAC,IAAU;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAE/C,IAAI,WAAW,GAAG,EAAE;YAAE,OAAO,GAAG,WAAW,OAAO,CAAC;QACnD,IAAI,WAAW,GAAG,EAAE;YAAE,OAAO,GAAG,WAAW,OAAO,CAAC;QACnD,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,GAAG,SAAS,OAAO,CAAC;QAC/C,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAEM,eAAe,CAAC,IAAU;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;QAE/C,IAAI,MAAM,GAAG,CAAC;YAAE,OAAO,UAAU,CAAC;QAClC,IAAI,WAAW,GAAG,EAAE;YAAE,OAAO,GAAG,WAAW,GAAG,CAAC;QAC/C,IAAI,WAAW,GAAG,EAAE;YAAE,OAAO,GAAG,WAAW,GAAG,CAAC;QAC/C,IAAI,SAAS,GAAG,EAAE;YAAE,OAAO,GAAG,SAAS,KAAK,WAAW,GAAG,EAAE,GAAG,CAAC;QAChE,OAAO,IAAI,CAAC,kBAAkB,EAAE,CAAC;IACnC,CAAC;IAEM,UAAU,CAAC,IAAY;QAC5B,IAAI,IAAI,GAAG,IAAI;YAAE,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,IAAI,GAAG,CAAC;YAAE,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAEM,gBAAgB,CAAC,KAAa;QACnC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACxC,CAAC;IAEO,eAAe;QACrB,MAAM,KAAK,GAAG;YACZ,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC;QACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;uHAlMU,6BAA6B;6DAA7B,6BAA6B;YCPpC,AADF,AADF,AADF,8BAAmC,aACF,aACD,gBACuC;YAA7C,0GAAS,eAAW,IAAC;YACvC,uBAA+D;YAC/D,yBACF;YAAA,iBAAS;YACT,iCAAkD;YAA9B,0GAAS,uBAAmB,IAAC;YAC/C,uBAAoG;YACpG,YACF;YAEJ,AADE,AADE,iBAAS,EACL,EACF;YAQN,AANA,sFAA0B,mEAMd;YAsKd,iBAAM;;YAvL0C,eAAsB;YAAtB,wCAAsB;YAC/B,cAA2B;YAA3B,wCAA2B;YAItC,eAAqC;YAAC,AAAtC,kDAAqC,oCAAsC;YAC/F,cACF;YADE,oFACF;YAIJ,cAIC;YAJD,qDAIC;YAED,cAqKC;YArKD,oCAqKC;;;iFD/KU,6BAA6B;cALzC,SAAS;2BACE,2BAA2B;iGAK5B,YAAY;kBAApB,KAAK;YACI,WAAW;kBAApB,MAAM;;kFAFI,6BAA6B"}