@memberjunction/ng-dashboards 3.3.0 → 3.4.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 (382) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +24 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +198 -111
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/models/model-management.component.d.ts +23 -0
  6. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  7. package/dist/AI/components/models/model-management.component.js +189 -83
  8. package/dist/AI/components/models/model-management.component.js.map +1 -1
  9. package/dist/AI/components/prompts/prompt-management.component.d.ts +23 -0
  10. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  11. package/dist/AI/components/prompts/prompt-management.component.js +135 -30
  12. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  13. package/dist/APIKeys/api-applications-panel.component.d.ts +5 -3
  14. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -1
  15. package/dist/APIKeys/api-applications-panel.component.js +50 -51
  16. package/dist/APIKeys/api-applications-panel.component.js.map +1 -1
  17. package/dist/APIKeys/api-key-create-dialog.component.d.ts +4 -3
  18. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -1
  19. package/dist/APIKeys/api-key-create-dialog.component.js +119 -94
  20. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -1
  21. package/dist/APIKeys/api-key-edit-panel.component.d.ts +1 -1
  22. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -1
  23. package/dist/APIKeys/api-key-edit-panel.component.js +100 -87
  24. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -1
  25. package/dist/APIKeys/api-key-list.component.d.ts +2 -1
  26. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -1
  27. package/dist/APIKeys/api-key-list.component.js +24 -20
  28. package/dist/APIKeys/api-key-list.component.js.map +1 -1
  29. package/dist/APIKeys/api-keys-resource.component.d.ts +6 -4
  30. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  31. package/dist/APIKeys/api-keys-resource.component.js +42 -57
  32. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  33. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
  34. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
  35. package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
  36. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
  37. package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
  38. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
  39. package/dist/Actions/components/explorer/action-card.component.js +410 -0
  40. package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
  41. package/dist/Actions/components/explorer/action-explorer.component.d.ts +62 -0
  42. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
  43. package/dist/Actions/components/explorer/action-explorer.component.js +527 -0
  44. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
  45. package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
  46. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
  47. package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
  48. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
  49. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
  50. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
  51. package/dist/Actions/components/explorer/action-toolbar.component.js +483 -0
  52. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
  53. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
  54. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
  55. package/dist/Actions/components/explorer/action-tree-panel.component.js +454 -0
  56. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
  57. package/dist/Actions/components/explorer/index.d.ts +10 -0
  58. package/dist/Actions/components/explorer/index.d.ts.map +1 -0
  59. package/dist/Actions/components/explorer/index.js +14 -0
  60. package/dist/Actions/components/explorer/index.js.map +1 -0
  61. package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
  62. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
  63. package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
  64. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
  65. package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
  66. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
  67. package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
  68. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
  69. package/dist/Actions/index.d.ts +3 -0
  70. package/dist/Actions/index.d.ts.map +1 -1
  71. package/dist/Actions/index.js +5 -0
  72. package/dist/Actions/index.js.map +1 -1
  73. package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
  74. package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
  75. package/dist/Actions/services/action-explorer-state.service.js +352 -0
  76. package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
  77. package/dist/Communication/communication-dashboard.component.d.ts +2 -6
  78. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  79. package/dist/Communication/communication-dashboard.component.js +142 -93
  80. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  81. package/dist/Communication/communication-logs-resource.component.d.ts +10 -4
  82. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  83. package/dist/Communication/communication-logs-resource.component.js +253 -121
  84. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  85. package/dist/Communication/communication-monitor-resource.component.d.ts +38 -3
  86. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  87. package/dist/Communication/communication-monitor-resource.component.js +431 -157
  88. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  89. package/dist/Communication/communication-providers-resource.component.d.ts +16 -5
  90. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  91. package/dist/Communication/communication-providers-resource.component.js +229 -118
  92. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  93. package/dist/Communication/communication-runs-resource.component.d.ts +4 -2
  94. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  95. package/dist/Communication/communication-runs-resource.component.js +155 -149
  96. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  97. package/dist/Communication/communication-templates-resource.component.d.ts +43 -0
  98. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
  99. package/dist/Communication/communication-templates-resource.component.js +371 -0
  100. package/dist/Communication/communication-templates-resource.component.js.map +1 -0
  101. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -267
  102. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  103. package/dist/ComponentStudio/component-studio-dashboard.component.js +698 -1802
  104. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  105. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
  106. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
  107. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +401 -0
  108. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
  109. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
  110. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
  111. package/dist/ComponentStudio/components/browser/component-browser.component.js +636 -0
  112. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
  113. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
  114. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
  115. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
  116. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
  117. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
  118. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
  119. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
  120. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
  121. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
  122. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
  123. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
  124. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
  125. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
  126. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
  127. package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
  128. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
  129. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
  130. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
  131. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
  132. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
  133. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
  134. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
  135. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
  136. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
  137. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
  138. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
  139. package/dist/ComponentStudio/components/workspace/component-preview.component.js +342 -0
  140. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
  141. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
  142. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
  143. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
  144. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
  145. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
  146. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
  147. package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
  148. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
  149. package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
  150. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
  151. package/dist/ComponentStudio/services/component-version.service.js +394 -0
  152. package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
  153. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -1
  154. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  155. package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
  156. package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -1
  157. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  158. package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
  159. package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -1
  160. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  161. package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
  162. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  163. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +72 -0
  164. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
  165. package/dist/MCP/components/mcp-connection-dialog.component.js +529 -0
  166. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
  167. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +77 -0
  168. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
  169. package/dist/MCP/components/mcp-log-detail-panel.component.js +535 -0
  170. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
  171. package/dist/MCP/components/mcp-server-dialog.component.d.ts +77 -0
  172. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
  173. package/dist/MCP/components/mcp-server-dialog.component.js +437 -0
  174. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
  175. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +271 -0
  176. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
  177. package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
  178. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
  179. package/dist/MCP/index.d.ts +11 -0
  180. package/dist/MCP/index.d.ts.map +1 -0
  181. package/dist/MCP/index.js +15 -0
  182. package/dist/MCP/index.js.map +1 -0
  183. package/dist/MCP/mcp-dashboard.component.d.ts +409 -0
  184. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
  185. package/dist/MCP/mcp-dashboard.component.js +2486 -0
  186. package/dist/MCP/mcp-dashboard.component.js.map +1 -0
  187. package/dist/MCP/mcp-resource.component.d.ts +20 -0
  188. package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
  189. package/dist/MCP/mcp-resource.component.js +55 -0
  190. package/dist/MCP/mcp-resource.component.js.map +1 -0
  191. package/dist/MCP/mcp.module.d.ts +27 -0
  192. package/dist/MCP/mcp.module.d.ts.map +1 -0
  193. package/dist/MCP/mcp.module.js +122 -0
  194. package/dist/MCP/mcp.module.js.map +1 -0
  195. package/dist/MCP/services/mcp-tools.service.d.ts +109 -0
  196. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
  197. package/dist/MCP/services/mcp-tools.service.js +222 -0
  198. package/dist/MCP/services/mcp-tools.service.js.map +1 -0
  199. package/dist/Scheduling/components/index.d.ts +5 -8
  200. package/dist/Scheduling/components/index.d.ts.map +1 -1
  201. package/dist/Scheduling/components/index.js +6 -9
  202. package/dist/Scheduling/components/index.js.map +1 -1
  203. package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
  204. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
  205. package/dist/Scheduling/components/job-slideout.component.js +458 -0
  206. package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
  207. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +19 -0
  208. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
  209. package/dist/Scheduling/components/scheduling-activity-resource.component.js +51 -0
  210. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
  211. package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
  212. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
  213. package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
  214. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
  215. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -4
  216. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  217. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -7
  218. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  219. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
  220. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  221. package/dist/Scheduling/components/scheduling-jobs.component.js +446 -261
  222. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  223. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +19 -0
  224. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
  225. package/dist/Scheduling/components/scheduling-overview-resource.component.js +51 -0
  226. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
  227. package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
  228. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
  229. package/dist/Scheduling/components/scheduling-overview.component.js +595 -0
  230. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
  231. package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -32
  232. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  233. package/dist/Scheduling/scheduling-dashboard.component.js +175 -169
  234. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  235. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
  236. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  237. package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
  238. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  239. package/dist/Testing/components/index.d.ts +7 -8
  240. package/dist/Testing/components/index.d.ts.map +1 -1
  241. package/dist/Testing/components/index.js +8 -9
  242. package/dist/Testing/components/index.js.map +1 -1
  243. package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
  244. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  245. package/dist/Testing/components/testing-analytics-resource.component.js +1 -7
  246. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  247. package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
  248. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  249. package/dist/Testing/components/testing-analytics.component.js +1023 -569
  250. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  251. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
  252. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
  253. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
  254. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
  255. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
  256. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
  257. package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
  258. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
  259. package/dist/{Scheduling/components/scheduling-types-resource.component.d.ts → Testing/components/testing-explorer-resource.component.d.ts} +5 -9
  260. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
  261. package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
  262. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
  263. package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
  264. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
  265. package/dist/Testing/components/testing-explorer.component.js +2212 -0
  266. package/dist/Testing/components/testing-explorer.component.js.map +1 -0
  267. package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
  268. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
  269. package/dist/Testing/components/testing-review-resource.component.js +47 -0
  270. package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
  271. package/dist/Testing/components/testing-review.component.d.ts +60 -0
  272. package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
  273. package/dist/Testing/components/testing-review.component.js +985 -0
  274. package/dist/Testing/components/testing-review.component.js.map +1 -0
  275. package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
  276. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
  277. package/dist/Testing/components/testing-runs-resource.component.js +47 -0
  278. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
  279. package/dist/Testing/components/testing-runs.component.d.ts +82 -0
  280. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
  281. package/dist/Testing/components/testing-runs.component.js +1067 -0
  282. package/dist/Testing/components/testing-runs.component.js.map +1 -0
  283. package/dist/Testing/testing-dashboard.component.d.ts +12 -15
  284. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  285. package/dist/Testing/testing-dashboard.component.js +46 -68
  286. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  287. package/dist/module.d.ts +121 -104
  288. package/dist/module.d.ts.map +1 -1
  289. package/dist/module.js +185 -93
  290. package/dist/module.js.map +1 -1
  291. package/dist/public-api.d.ts +5 -3
  292. package/dist/public-api.d.ts.map +1 -1
  293. package/dist/public-api.js +23 -16
  294. package/dist/public-api.js.map +1 -1
  295. package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
  296. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
  297. package/dist/shared/pipes/highlight-search.pipe.js +40 -0
  298. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
  299. package/dist/shared/pipes/index.d.ts +2 -0
  300. package/dist/shared/pipes/index.d.ts.map +1 -0
  301. package/dist/shared/pipes/index.js +2 -0
  302. package/dist/shared/pipes/index.js.map +1 -0
  303. package/dist/shared/shared-pipes.module.d.ts +11 -0
  304. package/dist/shared/shared-pipes.module.d.ts.map +1 -0
  305. package/dist/shared/shared-pipes.module.js +24 -0
  306. package/dist/shared/shared-pipes.module.js.map +1 -0
  307. package/package.json +39 -32
  308. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +0 -44
  309. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +0 -1
  310. package/dist/Credentials/components/credential-category-edit-panel.component.js +0 -456
  311. package/dist/Credentials/components/credential-category-edit-panel.component.js.map +0 -1
  312. package/dist/Credentials/components/credential-edit-panel.component.d.ts +0 -70
  313. package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +0 -1
  314. package/dist/Credentials/components/credential-edit-panel.component.js +0 -694
  315. package/dist/Credentials/components/credential-edit-panel.component.js.map +0 -1
  316. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +0 -56
  317. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +0 -1
  318. package/dist/Credentials/components/credential-type-edit-panel.component.js +0 -563
  319. package/dist/Credentials/components/credential-type-edit-panel.component.js.map +0 -1
  320. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +0 -20
  321. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +0 -1
  322. package/dist/Scheduling/components/scheduling-health-resource.component.js +0 -55
  323. package/dist/Scheduling/components/scheduling-health-resource.component.js.map +0 -1
  324. package/dist/Scheduling/components/scheduling-health.component.d.ts +0 -30
  325. package/dist/Scheduling/components/scheduling-health.component.d.ts.map +0 -1
  326. package/dist/Scheduling/components/scheduling-health.component.js +0 -315
  327. package/dist/Scheduling/components/scheduling-health.component.js.map +0 -1
  328. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +0 -20
  329. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +0 -1
  330. package/dist/Scheduling/components/scheduling-history-resource.component.js +0 -55
  331. package/dist/Scheduling/components/scheduling-history-resource.component.js.map +0 -1
  332. package/dist/Scheduling/components/scheduling-history.component.d.ts +0 -48
  333. package/dist/Scheduling/components/scheduling-history.component.d.ts.map +0 -1
  334. package/dist/Scheduling/components/scheduling-history.component.js +0 -377
  335. package/dist/Scheduling/components/scheduling-history.component.js.map +0 -1
  336. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +0 -20
  337. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +0 -1
  338. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +0 -55
  339. package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +0 -1
  340. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +0 -37
  341. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +0 -1
  342. package/dist/Scheduling/components/scheduling-monitoring.component.js +0 -488
  343. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +0 -1
  344. package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +0 -1
  345. package/dist/Scheduling/components/scheduling-types-resource.component.js +0 -55
  346. package/dist/Scheduling/components/scheduling-types-resource.component.js.map +0 -1
  347. package/dist/Scheduling/components/scheduling-types.component.d.ts +0 -22
  348. package/dist/Scheduling/components/scheduling-types.component.d.ts.map +0 -1
  349. package/dist/Scheduling/components/scheduling-types.component.js +0 -165
  350. package/dist/Scheduling/components/scheduling-types.component.js.map +0 -1
  351. package/dist/Testing/components/testing-execution-resource.component.d.ts +0 -20
  352. package/dist/Testing/components/testing-execution-resource.component.d.ts.map +0 -1
  353. package/dist/Testing/components/testing-execution-resource.component.js +0 -55
  354. package/dist/Testing/components/testing-execution-resource.component.js.map +0 -1
  355. package/dist/Testing/components/testing-execution.component.d.ts +0 -71
  356. package/dist/Testing/components/testing-execution.component.d.ts.map +0 -1
  357. package/dist/Testing/components/testing-execution.component.js +0 -845
  358. package/dist/Testing/components/testing-execution.component.js.map +0 -1
  359. package/dist/Testing/components/testing-feedback-resource.component.d.ts +0 -20
  360. package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +0 -1
  361. package/dist/Testing/components/testing-feedback-resource.component.js +0 -55
  362. package/dist/Testing/components/testing-feedback-resource.component.js.map +0 -1
  363. package/dist/Testing/components/testing-feedback.component.d.ts +0 -111
  364. package/dist/Testing/components/testing-feedback.component.d.ts.map +0 -1
  365. package/dist/Testing/components/testing-feedback.component.js +0 -1486
  366. package/dist/Testing/components/testing-feedback.component.js.map +0 -1
  367. package/dist/Testing/components/testing-overview-resource.component.d.ts +0 -20
  368. package/dist/Testing/components/testing-overview-resource.component.d.ts.map +0 -1
  369. package/dist/Testing/components/testing-overview-resource.component.js +0 -55
  370. package/dist/Testing/components/testing-overview-resource.component.js.map +0 -1
  371. package/dist/Testing/components/testing-overview.component.d.ts +0 -30
  372. package/dist/Testing/components/testing-overview.component.d.ts.map +0 -1
  373. package/dist/Testing/components/testing-overview.component.js +0 -361
  374. package/dist/Testing/components/testing-overview.component.js.map +0 -1
  375. package/dist/Testing/components/testing-version-comparison.component.d.ts +0 -62
  376. package/dist/Testing/components/testing-version-comparison.component.d.ts.map +0 -1
  377. package/dist/Testing/components/testing-version-comparison.component.js +0 -815
  378. package/dist/Testing/components/testing-version-comparison.component.js.map +0 -1
  379. package/dist/Testing/components/testing-version-resource.component.d.ts +0 -20
  380. package/dist/Testing/components/testing-version-resource.component.d.ts.map +0 -1
  381. package/dist/Testing/components/testing-version-resource.component.js +0 -55
  382. package/dist/Testing/components/testing-version-resource.component.js.map +0 -1
@@ -1,488 +0,0 @@
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", filePath: "src/Scheduling/components/scheduling-monitoring.component.ts", lineNumber: 11 }); })();
488
- //# sourceMappingURL=scheduling-monitoring.component.js.map
@@ -1 +0,0 @@
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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling-types-resource.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-types-resource.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE7D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAElE;;GAEG;AACH,wBAAgB,2BAA2B,SAE1C;AAED;;GAEG;AACH,qBAkBa,gCAAiC,SAAQ,qBAAsB,YAAW,MAAM,EAAE,SAAS;IAEtG,QAAQ,IAAI,IAAI;IAKhB,WAAW,IAAI,IAAI;IAIb,sBAAsB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAI3D,oBAAoB,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;yCAfpD,gCAAgC;2CAAhC,gCAAgC;CAkB5C"}
@@ -1,55 +0,0 @@
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-types.component";
12
- /**
13
- * Tree-shaking prevention function
14
- */
15
- export function LoadSchedulingTypesResource() {
16
- // Force inclusion in production builds
17
- }
18
- /**
19
- * Scheduling Types Resource - manage job types and configurations
20
- */
21
- let SchedulingTypesResourceComponent = class SchedulingTypesResourceComponent 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 'Types';
31
- }
32
- async GetResourceIconClass(data) {
33
- return 'fa-solid fa-cogs';
34
- }
35
- static ɵfac = /*@__PURE__*/ (() => { let ɵSchedulingTypesResourceComponent_BaseFactory; return function SchedulingTypesResourceComponent_Factory(__ngFactoryType__) { return (ɵSchedulingTypesResourceComponent_BaseFactory || (ɵSchedulingTypesResourceComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SchedulingTypesResourceComponent)))(__ngFactoryType__ || SchedulingTypesResourceComponent); }; })();
36
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchedulingTypesResourceComponent, selectors: [["mj-scheduling-types-resource"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 0, consts: [[1, "resource-container"]], template: function SchedulingTypesResourceComponent_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "div", 0);
38
- i0.ɵɵelement(1, "app-scheduling-types");
39
- i0.ɵɵelementEnd();
40
- } }, dependencies: [i1.SchedulingTypesComponent], 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
- SchedulingTypesResourceComponent = __decorate([
43
- RegisterClass(BaseResourceComponent, 'SchedulingTypesResource')
44
- ], SchedulingTypesResourceComponent);
45
- export { SchedulingTypesResourceComponent };
46
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchedulingTypesResourceComponent, [{
47
- type: Component,
48
- args: [{ selector: 'mj-scheduling-types-resource', template: `
49
- <div class="resource-container">
50
- <app-scheduling-types></app-scheduling-types>
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(SchedulingTypesResourceComponent, { className: "SchedulingTypesResourceComponent", filePath: "src/Scheduling/components/scheduling-types-resource.component.ts", lineNumber: 35 }); })();
55
- //# sourceMappingURL=scheduling-types-resource.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling-types-resource.component.js","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-types-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,2BAA2B;IACzC,uCAAuC;AACzC,CAAC;AAED;;GAEG;AAmBI,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,qBAAqB;IAEzE,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,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAAkB;QAC3C,OAAO,kBAAkB,CAAC;IAC5B,CAAC;6SAjBU,gCAAgC,yBAAhC,gCAAgC;6DAAhC,gCAAgC;YAdzC,8BAAgC;YAC9B,uCAA6C;YAC/C,iBAAM;;;AAYG,gCAAgC;IAlB5C,aAAa,CAAC,qBAAqB,EAAE,yBAAyB,CAAC;GAkBnD,gCAAgC,CAkB5C;;iFAlBY,gCAAgC;cAjB5C,SAAS;2BACE,8BAA8B,YAC9B;;;;GAIT;;kFAWU,gCAAgC"}
@@ -1,22 +0,0 @@
1
- import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef } from '@angular/core';
2
- import { SchedulingInstrumentationService, JobTypeStatistics } from '../services/scheduling-instrumentation.service';
3
- import * as i0 from "@angular/core";
4
- export declare class SchedulingTypesComponent implements OnInit, OnDestroy {
5
- private schedulingService;
6
- private cdr;
7
- initialState: any;
8
- stateChange: EventEmitter<any>;
9
- jobTypes: JobTypeStatistics[];
10
- isLoading: boolean;
11
- private destroy$;
12
- constructor(schedulingService: SchedulingInstrumentationService, cdr: ChangeDetectorRef);
13
- ngOnInit(): void;
14
- ngOnDestroy(): void;
15
- private loadData;
16
- onRefresh(): void;
17
- formatPercentage(value: number): string;
18
- getTypeIcon(typeName: string): string;
19
- static ɵfac: i0.ɵɵFactoryDeclaration<SchedulingTypesComponent, never>;
20
- static ɵcmp: i0.ɵɵComponentDeclaration<SchedulingTypesComponent, "app-scheduling-types", never, { "initialState": { "alias": "initialState"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
21
- }
22
- //# sourceMappingURL=scheduling-types.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"scheduling-types.component.d.ts","sourceRoot":"","sources":["../../../src/Scheduling/components/scheduling-types.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAiB,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAG7G,OAAO,EAAE,gCAAgC,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;;AAErH,qBAKa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IAU9D,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,GAAG;IAVJ,YAAY,EAAE,GAAG,CAAC;IACjB,WAAW,oBAA2B;IAEzC,QAAQ,EAAE,iBAAiB,EAAE,CAAM;IACnC,SAAS,UAAS;IAEzB,OAAO,CAAC,QAAQ,CAAuB;gBAG7B,iBAAiB,EAAE,gCAAgC,EACnD,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAIhB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,QAAQ;IAmBT,SAAS,IAAI,IAAI;IAIjB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIvC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;yCAlDjC,wBAAwB;2CAAxB,wBAAwB;CA2DpC"}