@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
@@ -0,0 +1,483 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { takeUntil, debounceTime, distinctUntilChanged } from 'rxjs/operators';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "../../services/action-explorer-state.service";
6
+ import * as i2 from "@progress/kendo-angular-inputs";
7
+ import * as i3 from "@progress/kendo-angular-buttons";
8
+ const _forTrack0 = ($index, $item) => $item.value;
9
+ const _forTrack1 = ($index, $item) => $item.field;
10
+ function ActionToolbarComponent_ng_template_4_Template(rf, ctx) { if (rf & 1) {
11
+ i0.ɵɵelement(0, "i", 29);
12
+ } }
13
+ function ActionToolbarComponent_Conditional_5_ng_template_0_Template(rf, ctx) { if (rf & 1) {
14
+ const _r1 = i0.ɵɵgetCurrentView();
15
+ i0.ɵɵelementStart(0, "button", 30);
16
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Conditional_5_ng_template_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clearSearch()); });
17
+ i0.ɵɵelement(1, "i", 31);
18
+ i0.ɵɵelementEnd();
19
+ } if (rf & 2) {
20
+ i0.ɵɵproperty("fillMode", "flat")("size", "small");
21
+ } }
22
+ function ActionToolbarComponent_Conditional_5_Template(rf, ctx) { if (rf & 1) {
23
+ i0.ɵɵtemplate(0, ActionToolbarComponent_Conditional_5_ng_template_0_Template, 2, 2, "ng-template", 5);
24
+ } }
25
+ function ActionToolbarComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "span", 9);
27
+ i0.ɵɵtext(1);
28
+ i0.ɵɵelementEnd();
29
+ } if (rf & 2) {
30
+ const ctx_r1 = i0.ɵɵnextContext();
31
+ i0.ɵɵadvance();
32
+ i0.ɵɵtextInterpolate(ctx_r1.getActiveFilterCount());
33
+ } }
34
+ function ActionToolbarComponent_Conditional_12_Conditional_5_Template(rf, ctx) { if (rf & 1) {
35
+ const _r3 = i0.ɵɵgetCurrentView();
36
+ i0.ɵɵelementStart(0, "button", 30);
37
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Conditional_12_Conditional_5_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.StateService.setStatusFilter([])); });
38
+ i0.ɵɵtext(1, " Clear ");
39
+ i0.ɵɵelementEnd();
40
+ } if (rf & 2) {
41
+ i0.ɵɵproperty("fillMode", "flat")("size", "small");
42
+ } }
43
+ function ActionToolbarComponent_Conditional_12_For_8_Template(rf, ctx) { if (rf & 1) {
44
+ const _r4 = i0.ɵɵgetCurrentView();
45
+ i0.ɵɵelementStart(0, "label", 38)(1, "input", 39);
46
+ i0.ɵɵlistener("change", function ActionToolbarComponent_Conditional_12_For_8_Template_input_change_1_listener() { const status_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleStatus(status_r5.value)); });
47
+ i0.ɵɵelementEnd();
48
+ i0.ɵɵelement(2, "span", 40);
49
+ i0.ɵɵtext(3);
50
+ i0.ɵɵelementEnd();
51
+ } if (rf & 2) {
52
+ const status_r5 = ctx.$implicit;
53
+ const ctx_r1 = i0.ɵɵnextContext(2);
54
+ i0.ɵɵclassProp("selected", ctx_r1.isStatusSelected(status_r5.value));
55
+ i0.ɵɵadvance();
56
+ i0.ɵɵproperty("checked", ctx_r1.isStatusSelected(status_r5.value));
57
+ i0.ɵɵadvance();
58
+ i0.ɵɵattribute("data-status", status_r5.value);
59
+ i0.ɵɵadvance();
60
+ i0.ɵɵtextInterpolate1(" ", status_r5.label, " ");
61
+ } }
62
+ function ActionToolbarComponent_Conditional_12_Conditional_13_Template(rf, ctx) { if (rf & 1) {
63
+ const _r6 = i0.ɵɵgetCurrentView();
64
+ i0.ɵɵelementStart(0, "button", 30);
65
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Conditional_12_Conditional_13_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.StateService.setTypeFilter([])); });
66
+ i0.ɵɵtext(1, " Clear ");
67
+ i0.ɵɵelementEnd();
68
+ } if (rf & 2) {
69
+ i0.ɵɵproperty("fillMode", "flat")("size", "small");
70
+ } }
71
+ function ActionToolbarComponent_Conditional_12_For_16_Template(rf, ctx) { if (rf & 1) {
72
+ const _r7 = i0.ɵɵgetCurrentView();
73
+ i0.ɵɵelementStart(0, "label", 38)(1, "input", 39);
74
+ i0.ɵɵlistener("change", function ActionToolbarComponent_Conditional_12_For_16_Template_input_change_1_listener() { const type_r8 = i0.ɵɵrestoreView(_r7).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleType(type_r8.value)); });
75
+ i0.ɵɵelementEnd();
76
+ i0.ɵɵelement(2, "i");
77
+ i0.ɵɵtext(3);
78
+ i0.ɵɵelementEnd();
79
+ } if (rf & 2) {
80
+ const type_r8 = ctx.$implicit;
81
+ const ctx_r1 = i0.ɵɵnextContext(2);
82
+ i0.ɵɵclassProp("selected", ctx_r1.isTypeSelected(type_r8.value));
83
+ i0.ɵɵadvance();
84
+ i0.ɵɵproperty("checked", ctx_r1.isTypeSelected(type_r8.value));
85
+ i0.ɵɵadvance();
86
+ i0.ɵɵclassMap(type_r8.icon);
87
+ i0.ɵɵadvance();
88
+ i0.ɵɵtextInterpolate1(" ", type_r8.label, " ");
89
+ } }
90
+ function ActionToolbarComponent_Conditional_12_Conditional_17_Template(rf, ctx) { if (rf & 1) {
91
+ const _r9 = i0.ɵɵgetCurrentView();
92
+ i0.ɵɵelementStart(0, "div", 37)(1, "button", 27);
93
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Conditional_12_Conditional_17_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.clearFilters()); });
94
+ i0.ɵɵelement(2, "i", 31);
95
+ i0.ɵɵtext(3, " Clear All Filters ");
96
+ i0.ɵɵelementEnd()();
97
+ } if (rf & 2) {
98
+ i0.ɵɵadvance();
99
+ i0.ɵɵproperty("fillMode", "flat")("themeColor", "error");
100
+ } }
101
+ function ActionToolbarComponent_Conditional_12_Template(rf, ctx) { if (rf & 1) {
102
+ i0.ɵɵelementStart(0, "div", 10)(1, "div", 32)(2, "div", 33)(3, "span");
103
+ i0.ɵɵtext(4, "Status");
104
+ i0.ɵɵelementEnd();
105
+ i0.ɵɵtemplate(5, ActionToolbarComponent_Conditional_12_Conditional_5_Template, 2, 2, "button", 34);
106
+ i0.ɵɵelementEnd();
107
+ i0.ɵɵelementStart(6, "div", 35);
108
+ i0.ɵɵrepeaterCreate(7, ActionToolbarComponent_Conditional_12_For_8_Template, 4, 5, "label", 36, _forTrack0);
109
+ i0.ɵɵelementEnd()();
110
+ i0.ɵɵelementStart(9, "div", 32)(10, "div", 33)(11, "span");
111
+ i0.ɵɵtext(12, "Type");
112
+ i0.ɵɵelementEnd();
113
+ i0.ɵɵtemplate(13, ActionToolbarComponent_Conditional_12_Conditional_13_Template, 2, 2, "button", 34);
114
+ i0.ɵɵelementEnd();
115
+ i0.ɵɵelementStart(14, "div", 35);
116
+ i0.ɵɵrepeaterCreate(15, ActionToolbarComponent_Conditional_12_For_16_Template, 4, 6, "label", 36, _forTrack0);
117
+ i0.ɵɵelementEnd()();
118
+ i0.ɵɵtemplate(17, ActionToolbarComponent_Conditional_12_Conditional_17_Template, 4, 2, "div", 37);
119
+ i0.ɵɵelementEnd();
120
+ } if (rf & 2) {
121
+ const ctx_r1 = i0.ɵɵnextContext();
122
+ i0.ɵɵadvance(5);
123
+ i0.ɵɵconditional(ctx_r1.Filters.statuses.length > 0 ? 5 : -1);
124
+ i0.ɵɵadvance(2);
125
+ i0.ɵɵrepeater(ctx_r1.StatusOptions);
126
+ i0.ɵɵadvance(6);
127
+ i0.ɵɵconditional(ctx_r1.Filters.types.length > 0 ? 13 : -1);
128
+ i0.ɵɵadvance(2);
129
+ i0.ɵɵrepeater(ctx_r1.TypeOptions);
130
+ i0.ɵɵadvance(2);
131
+ i0.ɵɵconditional(ctx_r1.hasActiveFilters() ? 17 : -1);
132
+ } }
133
+ function ActionToolbarComponent_Conditional_13_For_2_Template(rf, ctx) { if (rf & 1) {
134
+ const _r10 = i0.ɵɵgetCurrentView();
135
+ i0.ɵɵelementStart(0, "kendo-chip", 42);
136
+ i0.ɵɵlistener("remove", function ActionToolbarComponent_Conditional_13_For_2_Template_kendo_chip_remove_0_listener() { const status_r11 = i0.ɵɵrestoreView(_r10).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleStatus(status_r11)); });
137
+ i0.ɵɵtext(1);
138
+ i0.ɵɵelementEnd();
139
+ } if (rf & 2) {
140
+ const status_r11 = ctx.$implicit;
141
+ i0.ɵɵproperty("removable", true)("size", "small");
142
+ i0.ɵɵadvance();
143
+ i0.ɵɵtextInterpolate1(" Status: ", status_r11, " ");
144
+ } }
145
+ function ActionToolbarComponent_Conditional_13_For_4_Template(rf, ctx) { if (rf & 1) {
146
+ const _r12 = i0.ɵɵgetCurrentView();
147
+ i0.ɵɵelementStart(0, "kendo-chip", 42);
148
+ i0.ɵɵlistener("remove", function ActionToolbarComponent_Conditional_13_For_4_Template_kendo_chip_remove_0_listener() { const type_r13 = i0.ɵɵrestoreView(_r12).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.toggleType(type_r13)); });
149
+ i0.ɵɵtext(1);
150
+ i0.ɵɵelementEnd();
151
+ } if (rf & 2) {
152
+ const type_r13 = ctx.$implicit;
153
+ i0.ɵɵproperty("removable", true)("size", "small");
154
+ i0.ɵɵadvance();
155
+ i0.ɵɵtextInterpolate1(" Type: ", type_r13 === "Generated" ? "AI Generated" : type_r13, " ");
156
+ } }
157
+ function ActionToolbarComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
158
+ i0.ɵɵelementStart(0, "div", 11);
159
+ i0.ɵɵrepeaterCreate(1, ActionToolbarComponent_Conditional_13_For_2_Template, 2, 3, "kendo-chip", 41, i0.ɵɵrepeaterTrackByIdentity);
160
+ i0.ɵɵrepeaterCreate(3, ActionToolbarComponent_Conditional_13_For_4_Template, 2, 3, "kendo-chip", 41, i0.ɵɵrepeaterTrackByIdentity);
161
+ i0.ɵɵelementEnd();
162
+ } if (rf & 2) {
163
+ const ctx_r1 = i0.ɵɵnextContext();
164
+ i0.ɵɵadvance();
165
+ i0.ɵɵrepeater(ctx_r1.Filters.statuses);
166
+ i0.ɵɵadvance(2);
167
+ i0.ɵɵrepeater(ctx_r1.Filters.types);
168
+ } }
169
+ function ActionToolbarComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
170
+ i0.ɵɵelementStart(0, "span", 15);
171
+ i0.ɵɵtext(1);
172
+ i0.ɵɵelementEnd();
173
+ } if (rf & 2) {
174
+ const ctx_r1 = i0.ɵɵnextContext();
175
+ i0.ɵɵadvance();
176
+ i0.ɵɵtextInterpolate1("of ", ctx_r1.TotalCount, "");
177
+ } }
178
+ function ActionToolbarComponent_Conditional_26_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
179
+ i0.ɵɵelement(0, "i", 46);
180
+ } if (rf & 2) {
181
+ const ctx_r1 = i0.ɵɵnextContext(3);
182
+ i0.ɵɵclassMap(ctx_r1.SortDirection === "asc" ? "fa-solid fa-arrow-up" : "fa-solid fa-arrow-down");
183
+ } }
184
+ function ActionToolbarComponent_Conditional_26_For_2_Template(rf, ctx) { if (rf & 1) {
185
+ const _r14 = i0.ɵɵgetCurrentView();
186
+ i0.ɵɵelementStart(0, "button", 44);
187
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Conditional_26_For_2_Template_button_click_0_listener() { const option_r15 = i0.ɵɵrestoreView(_r14).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.setSortField(option_r15.field)); });
188
+ i0.ɵɵelement(1, "i");
189
+ i0.ɵɵtext(2);
190
+ i0.ɵɵtemplate(3, ActionToolbarComponent_Conditional_26_For_2_Conditional_3_Template, 1, 2, "i", 45);
191
+ i0.ɵɵelementEnd();
192
+ } if (rf & 2) {
193
+ const option_r15 = ctx.$implicit;
194
+ const ctx_r1 = i0.ɵɵnextContext(2);
195
+ i0.ɵɵclassProp("selected", ctx_r1.SortField === option_r15.field);
196
+ i0.ɵɵadvance();
197
+ i0.ɵɵclassMap(option_r15.icon);
198
+ i0.ɵɵadvance();
199
+ i0.ɵɵtextInterpolate1(" ", option_r15.label, " ");
200
+ i0.ɵɵadvance();
201
+ i0.ɵɵconditional(ctx_r1.SortField === option_r15.field ? 3 : -1);
202
+ } }
203
+ function ActionToolbarComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
204
+ i0.ɵɵelementStart(0, "div", 17);
205
+ i0.ɵɵrepeaterCreate(1, ActionToolbarComponent_Conditional_26_For_2_Template, 4, 6, "button", 43, _forTrack1);
206
+ i0.ɵɵelementEnd();
207
+ } if (rf & 2) {
208
+ const ctx_r1 = i0.ɵɵnextContext();
209
+ i0.ɵɵadvance();
210
+ i0.ɵɵrepeater(ctx_r1.SortOptions);
211
+ } }
212
+ export class ActionToolbarComponent {
213
+ StateService;
214
+ cdr;
215
+ TotalCount = 0;
216
+ FilteredCount = 0;
217
+ NewActionClick = new EventEmitter();
218
+ RefreshClick = new EventEmitter();
219
+ ViewMode = 'card';
220
+ SortField = 'name';
221
+ SortDirection = 'asc';
222
+ Filters = {
223
+ searchTerm: '',
224
+ statuses: [],
225
+ types: [],
226
+ approvalStatuses: [],
227
+ hasExecutions: null
228
+ };
229
+ ShowFiltersDropdown = false;
230
+ ShowSortDropdown = false;
231
+ SortOptions = [
232
+ { field: 'name', label: 'Name', icon: 'fa-solid fa-font' },
233
+ { field: 'updated', label: 'Last Updated', icon: 'fa-solid fa-clock' },
234
+ { field: 'status', label: 'Status', icon: 'fa-solid fa-circle-check' },
235
+ { field: 'type', label: 'Type', icon: 'fa-solid fa-tag' },
236
+ { field: 'category', label: 'Category', icon: 'fa-solid fa-folder' }
237
+ ];
238
+ StatusOptions = [
239
+ { value: 'Active', label: 'Active', color: 'success' },
240
+ { value: 'Pending', label: 'Pending', color: 'warning' },
241
+ { value: 'Disabled', label: 'Disabled', color: 'error' }
242
+ ];
243
+ TypeOptions = [
244
+ { value: 'Generated', label: 'AI Generated', icon: 'fa-solid fa-robot' },
245
+ { value: 'Custom', label: 'Custom', icon: 'fa-solid fa-code' }
246
+ ];
247
+ destroy$ = new Subject();
248
+ searchInput$ = new Subject();
249
+ constructor(StateService, cdr) {
250
+ this.StateService = StateService;
251
+ this.cdr = cdr;
252
+ }
253
+ ngOnInit() {
254
+ this.subscribeToState();
255
+ this.setupSearchDebounce();
256
+ }
257
+ ngOnDestroy() {
258
+ this.destroy$.next();
259
+ this.destroy$.complete();
260
+ }
261
+ subscribeToState() {
262
+ this.StateService.ViewMode$.pipe(takeUntil(this.destroy$)).subscribe(mode => {
263
+ this.ViewMode = mode;
264
+ this.cdr.markForCheck();
265
+ });
266
+ this.StateService.SortConfig$.pipe(takeUntil(this.destroy$)).subscribe(config => {
267
+ this.SortField = config.field;
268
+ this.SortDirection = config.direction;
269
+ this.cdr.markForCheck();
270
+ });
271
+ this.StateService.Filters$.pipe(takeUntil(this.destroy$)).subscribe(filters => {
272
+ this.Filters = filters;
273
+ this.cdr.markForCheck();
274
+ });
275
+ }
276
+ setupSearchDebounce() {
277
+ this.searchInput$.pipe(debounceTime(300), distinctUntilChanged(), takeUntil(this.destroy$)).subscribe(term => {
278
+ this.StateService.setSearchTerm(term);
279
+ });
280
+ }
281
+ onSearchInput(term) {
282
+ this.searchInput$.next(term);
283
+ }
284
+ clearSearch() {
285
+ this.StateService.setSearchTerm('');
286
+ }
287
+ setViewMode(mode) {
288
+ this.StateService.setViewMode(mode);
289
+ }
290
+ setSortField(field) {
291
+ this.StateService.setSortField(field);
292
+ this.ShowSortDropdown = false;
293
+ }
294
+ toggleSortDirection() {
295
+ this.StateService.toggleSortDirection();
296
+ }
297
+ toggleStatus(status) {
298
+ const current = [...this.Filters.statuses];
299
+ const index = current.indexOf(status);
300
+ if (index >= 0) {
301
+ current.splice(index, 1);
302
+ }
303
+ else {
304
+ current.push(status);
305
+ }
306
+ this.StateService.setStatusFilter(current);
307
+ }
308
+ toggleType(type) {
309
+ const current = [...this.Filters.types];
310
+ const index = current.indexOf(type);
311
+ if (index >= 0) {
312
+ current.splice(index, 1);
313
+ }
314
+ else {
315
+ current.push(type);
316
+ }
317
+ this.StateService.setTypeFilter(current);
318
+ }
319
+ isStatusSelected(status) {
320
+ return this.Filters.statuses.includes(status);
321
+ }
322
+ isTypeSelected(type) {
323
+ return this.Filters.types.includes(type);
324
+ }
325
+ clearFilters() {
326
+ this.StateService.clearFilters();
327
+ }
328
+ hasActiveFilters() {
329
+ return this.StateService.hasActiveFilters();
330
+ }
331
+ getActiveFilterCount() {
332
+ let count = 0;
333
+ if (this.Filters.searchTerm)
334
+ count++;
335
+ count += this.Filters.statuses.length;
336
+ count += this.Filters.types.length;
337
+ count += this.Filters.approvalStatuses.length;
338
+ if (this.Filters.hasExecutions != null)
339
+ count++;
340
+ return count;
341
+ }
342
+ toggleFiltersDropdown() {
343
+ this.ShowFiltersDropdown = !this.ShowFiltersDropdown;
344
+ if (this.ShowFiltersDropdown) {
345
+ this.ShowSortDropdown = false;
346
+ }
347
+ }
348
+ toggleSortDropdown() {
349
+ this.ShowSortDropdown = !this.ShowSortDropdown;
350
+ if (this.ShowSortDropdown) {
351
+ this.ShowFiltersDropdown = false;
352
+ }
353
+ }
354
+ closeDropdowns() {
355
+ this.ShowFiltersDropdown = false;
356
+ this.ShowSortDropdown = false;
357
+ }
358
+ getSortLabel() {
359
+ const option = this.SortOptions.find(o => o.field === this.SortField);
360
+ return option?.label || 'Sort';
361
+ }
362
+ getSortIcon() {
363
+ return this.SortDirection === 'asc' ? 'fa-solid fa-arrow-up-short-wide' : 'fa-solid fa-arrow-down-wide-short';
364
+ }
365
+ onNewAction() {
366
+ this.NewActionClick.emit();
367
+ }
368
+ onRefresh() {
369
+ this.RefreshClick.emit();
370
+ }
371
+ static ɵfac = function ActionToolbarComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || ActionToolbarComponent)(i0.ɵɵdirectiveInject(i1.ActionExplorerStateService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
372
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionToolbarComponent, selectors: [["mj-action-toolbar"]], inputs: { TotalCount: "TotalCount", FilteredCount: "FilteredCount" }, outputs: { NewActionClick: "NewActionClick", RefreshClick: "RefreshClick" }, decls: 39, vars: 29, consts: [[1, "action-toolbar"], [1, "toolbar-left"], [1, "search-container"], [3, "valueChange", "placeholder", "value"], ["kendoTextBoxPrefixTemplate", ""], ["kendoTextBoxSuffixTemplate", ""], [1, "dropdown-container", 3, "clickOutside"], ["kendoButton", "", 3, "click", "fillMode"], [1, "fa-solid", "fa-filter"], [1, "filter-badge"], [1, "dropdown-menu", "filters-menu"], [1, "active-filters"], [1, "toolbar-right"], [1, "results-count"], [1, "count"], [1, "of-total"], [1, "label"], [1, "dropdown-menu", "sort-menu"], [1, "view-toggle"], ["kendoButton", "", "title", "Card View", 3, "click", "fillMode", "themeColor"], [1, "fa-solid", "fa-grip"], ["kendoButton", "", "title", "List View", 3, "click", "fillMode", "themeColor"], [1, "fa-solid", "fa-list"], ["kendoButton", "", "title", "Compact View", 3, "click", "fillMode", "themeColor"], [1, "fa-solid", "fa-bars"], ["kendoButton", "", "title", "Refresh", 3, "click", "fillMode"], [1, "fa-solid", "fa-refresh"], ["kendoButton", "", 3, "click", "fillMode", "themeColor"], [1, "fa-solid", "fa-plus"], [1, "fa-solid", "fa-search"], ["kendoButton", "", 3, "click", "fillMode", "size"], [1, "fa-solid", "fa-times"], [1, "dropdown-section"], [1, "section-header"], ["kendoButton", "", 3, "fillMode", "size"], [1, "filter-options"], [1, "filter-option", 3, "selected"], [1, "dropdown-footer"], [1, "filter-option"], ["type", "checkbox", 3, "change", "checked"], [1, "status-dot"], [3, "removable", "size"], [3, "remove", "removable", "size"], [1, "sort-option", 3, "selected"], [1, "sort-option", 3, "click"], [1, "direction-icon", 3, "class"], [1, "direction-icon"]], template: function ActionToolbarComponent_Template(rf, ctx) { if (rf & 1) {
373
+ i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "kendo-textbox", 3);
374
+ i0.ɵɵlistener("valueChange", function ActionToolbarComponent_Template_kendo_textbox_valueChange_3_listener($event) { return ctx.onSearchInput($event); });
375
+ i0.ɵɵtemplate(4, ActionToolbarComponent_ng_template_4_Template, 1, 0, "ng-template", 4)(5, ActionToolbarComponent_Conditional_5_Template, 1, 0, null, 5);
376
+ i0.ɵɵelementEnd()();
377
+ i0.ɵɵelementStart(6, "div", 6);
378
+ i0.ɵɵlistener("clickOutside", function ActionToolbarComponent_Template_div_clickOutside_6_listener() { return ctx.ShowFiltersDropdown = false; });
379
+ i0.ɵɵelementStart(7, "button", 7);
380
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_7_listener() { return ctx.toggleFiltersDropdown(); });
381
+ i0.ɵɵelement(8, "i", 8);
382
+ i0.ɵɵtext(9, " Filters ");
383
+ i0.ɵɵtemplate(10, ActionToolbarComponent_Conditional_10_Template, 2, 1, "span", 9);
384
+ i0.ɵɵelement(11, "i");
385
+ i0.ɵɵelementEnd();
386
+ i0.ɵɵtemplate(12, ActionToolbarComponent_Conditional_12_Template, 18, 3, "div", 10);
387
+ i0.ɵɵelementEnd();
388
+ i0.ɵɵtemplate(13, ActionToolbarComponent_Conditional_13_Template, 5, 0, "div", 11);
389
+ i0.ɵɵelementEnd();
390
+ i0.ɵɵelementStart(14, "div", 12)(15, "div", 13)(16, "span", 14);
391
+ i0.ɵɵtext(17);
392
+ i0.ɵɵelementEnd();
393
+ i0.ɵɵtemplate(18, ActionToolbarComponent_Conditional_18_Template, 2, 1, "span", 15);
394
+ i0.ɵɵelementStart(19, "span", 16);
395
+ i0.ɵɵtext(20, "actions");
396
+ i0.ɵɵelementEnd()();
397
+ i0.ɵɵelementStart(21, "div", 6);
398
+ i0.ɵɵlistener("clickOutside", function ActionToolbarComponent_Template_div_clickOutside_21_listener() { return ctx.ShowSortDropdown = false; });
399
+ i0.ɵɵelementStart(22, "button", 7);
400
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_22_listener() { return ctx.toggleSortDropdown(); });
401
+ i0.ɵɵelement(23, "i");
402
+ i0.ɵɵtext(24);
403
+ i0.ɵɵelement(25, "i");
404
+ i0.ɵɵelementEnd();
405
+ i0.ɵɵtemplate(26, ActionToolbarComponent_Conditional_26_Template, 3, 0, "div", 17);
406
+ i0.ɵɵelementEnd();
407
+ i0.ɵɵelementStart(27, "div", 18)(28, "button", 19);
408
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_28_listener() { return ctx.setViewMode("card"); });
409
+ i0.ɵɵelement(29, "i", 20);
410
+ i0.ɵɵelementEnd();
411
+ i0.ɵɵelementStart(30, "button", 21);
412
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_30_listener() { return ctx.setViewMode("list"); });
413
+ i0.ɵɵelement(31, "i", 22);
414
+ i0.ɵɵelementEnd();
415
+ i0.ɵɵelementStart(32, "button", 23);
416
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_32_listener() { return ctx.setViewMode("compact"); });
417
+ i0.ɵɵelement(33, "i", 24);
418
+ i0.ɵɵelementEnd()();
419
+ i0.ɵɵelementStart(34, "button", 25);
420
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_34_listener() { return ctx.onRefresh(); });
421
+ i0.ɵɵelement(35, "i", 26);
422
+ i0.ɵɵelementEnd();
423
+ i0.ɵɵelementStart(36, "button", 27);
424
+ i0.ɵɵlistener("click", function ActionToolbarComponent_Template_button_click_36_listener() { return ctx.onNewAction(); });
425
+ i0.ɵɵelement(37, "i", 28);
426
+ i0.ɵɵtext(38, " New Action ");
427
+ i0.ɵɵelementEnd()()();
428
+ } if (rf & 2) {
429
+ i0.ɵɵadvance(3);
430
+ i0.ɵɵproperty("placeholder", "Search actions...")("value", ctx.Filters.searchTerm);
431
+ i0.ɵɵadvance(2);
432
+ i0.ɵɵconditional(ctx.Filters.searchTerm ? 5 : -1);
433
+ i0.ɵɵadvance(2);
434
+ i0.ɵɵclassProp("active", ctx.hasActiveFilters());
435
+ i0.ɵɵproperty("fillMode", "outline");
436
+ i0.ɵɵadvance(3);
437
+ i0.ɵɵconditional(ctx.getActiveFilterCount() > 0 ? 10 : -1);
438
+ i0.ɵɵadvance();
439
+ i0.ɵɵclassMap(ctx.ShowFiltersDropdown ? "fa-solid fa-chevron-up" : "fa-solid fa-chevron-down");
440
+ i0.ɵɵadvance();
441
+ i0.ɵɵconditional(ctx.ShowFiltersDropdown ? 12 : -1);
442
+ i0.ɵɵadvance();
443
+ i0.ɵɵconditional(ctx.hasActiveFilters() ? 13 : -1);
444
+ i0.ɵɵadvance(4);
445
+ i0.ɵɵtextInterpolate(ctx.FilteredCount);
446
+ i0.ɵɵadvance();
447
+ i0.ɵɵconditional(ctx.FilteredCount !== ctx.TotalCount ? 18 : -1);
448
+ i0.ɵɵadvance(4);
449
+ i0.ɵɵproperty("fillMode", "outline");
450
+ i0.ɵɵadvance();
451
+ i0.ɵɵclassMap(ctx.getSortIcon());
452
+ i0.ɵɵadvance();
453
+ i0.ɵɵtextInterpolate1(" ", ctx.getSortLabel(), " ");
454
+ i0.ɵɵadvance();
455
+ i0.ɵɵclassMap(ctx.ShowSortDropdown ? "fa-solid fa-chevron-up" : "fa-solid fa-chevron-down");
456
+ i0.ɵɵadvance();
457
+ i0.ɵɵconditional(ctx.ShowSortDropdown ? 26 : -1);
458
+ i0.ɵɵadvance(2);
459
+ i0.ɵɵproperty("fillMode", ctx.ViewMode === "card" ? "solid" : "outline")("themeColor", ctx.ViewMode === "card" ? "primary" : "base");
460
+ i0.ɵɵadvance(2);
461
+ i0.ɵɵproperty("fillMode", ctx.ViewMode === "list" ? "solid" : "outline")("themeColor", ctx.ViewMode === "list" ? "primary" : "base");
462
+ i0.ɵɵadvance(2);
463
+ i0.ɵɵproperty("fillMode", ctx.ViewMode === "compact" ? "solid" : "outline")("themeColor", ctx.ViewMode === "compact" ? "primary" : "base");
464
+ i0.ɵɵadvance(2);
465
+ i0.ɵɵproperty("fillMode", "flat");
466
+ i0.ɵɵadvance(2);
467
+ i0.ɵɵproperty("fillMode", "solid")("themeColor", "primary");
468
+ } }, dependencies: [i2.TextBoxComponent, i2.TextBoxSuffixTemplateDirective, i2.TextBoxPrefixTemplateDirective, i3.ButtonComponent, i3.ChipComponent], styles: [".action-toolbar[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 20px;\n background: var(--kendo-color-surface);\n border-bottom: 1px solid var(--kendo-color-border);\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.toolbar-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n flex-wrap: wrap;\n}\n\n.toolbar-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n\n\n.search-container[_ngcontent-%COMP%] {\n min-width: 200px;\n max-width: 320px;\n flex: 1;\n}\n\n.search-container[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.search-container[_ngcontent-%COMP%] i.fa-search[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--kendo-color-subtle);\n}\n\n\n\n.dropdown-container[_ngcontent-%COMP%] {\n position: relative;\n}\n\n.dropdown-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dropdown-container[_ngcontent-%COMP%] > button.active[_ngcontent-%COMP%] {\n border-color: var(--kendo-color-primary);\n background: var(--kendo-color-primary-subtle);\n}\n\n.dropdown-container[_ngcontent-%COMP%] > button[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:last-child {\n font-size: 10px;\n margin-left: 4px;\n}\n\n.filter-badge[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary);\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 10px;\n min-width: 18px;\n text-align: center;\n}\n\n\n\n.dropdown-menu[_ngcontent-%COMP%] {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n z-index: 100;\n min-width: 220px;\n padding: 8px 0;\n}\n\n.dropdown-menu.sort-menu[_ngcontent-%COMP%] {\n right: 0;\n left: auto;\n}\n\n\n\n.dropdown-section[_ngcontent-%COMP%] {\n padding: 8px 12px;\n}\n\n.dropdown-section[_ngcontent-%COMP%]:not(:last-child) {\n border-bottom: 1px solid var(--kendo-color-border);\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--kendo-color-subtle);\n letter-spacing: 0.5px;\n}\n\n.section-header[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 2px 6px;\n}\n\n.filter-options[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.filter-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n font-size: 13px;\n}\n\n.filter-option[_ngcontent-%COMP%]:hover {\n background: var(--kendo-color-base-hover);\n}\n\n.filter-option.selected[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary-subtle);\n}\n\n.filter-option[_ngcontent-%COMP%] input[type=\"checkbox\"][_ngcontent-%COMP%] {\n display: none;\n}\n\n.filter-option[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 13px;\n width: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.filter-option.selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n}\n\n.status-dot[_ngcontent-%COMP%] {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n}\n\n.status-dot[data-status=\"Active\"][_ngcontent-%COMP%] {\n background: var(--kendo-color-success);\n}\n\n.status-dot[data-status=\"Pending\"][_ngcontent-%COMP%] {\n background: var(--kendo-color-warning);\n}\n\n.status-dot[data-status=\"Disabled\"][_ngcontent-%COMP%] {\n background: var(--kendo-color-error);\n}\n\n.dropdown-footer[_ngcontent-%COMP%] {\n padding: 8px 12px;\n border-top: 1px solid var(--kendo-color-border);\n}\n\n.dropdown-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n\n.sort-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n text-align: left;\n transition: background 0.15s ease;\n}\n\n.sort-option[_ngcontent-%COMP%]:hover {\n background: var(--kendo-color-base-hover);\n}\n\n.sort-option.selected[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n}\n\n.sort-option[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child {\n width: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.sort-option.selected[_ngcontent-%COMP%] i[_ngcontent-%COMP%]:first-child {\n color: var(--kendo-color-primary);\n}\n\n.sort-option[_ngcontent-%COMP%] .direction-icon[_ngcontent-%COMP%] {\n margin-left: auto;\n font-size: 11px;\n}\n\n\n\n.active-filters[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.active-filters[_ngcontent-%COMP%] kendo-chip[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n\n\n.results-count[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 4px;\n font-size: 13px;\n color: var(--kendo-color-subtle);\n white-space: nowrap;\n}\n\n.results-count[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n font-size: 14px;\n}\n\n.results-count[_ngcontent-%COMP%] .of-total[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--kendo-color-border);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.view-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n border-radius: 0;\n border: none;\n min-width: 36px;\n}\n\n.view-toggle[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--kendo-color-border);\n}\n\n\n\n@media (max-width: 1024px) {\n .action-toolbar[_ngcontent-%COMP%] {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left[_ngcontent-%COMP%], \n .toolbar-right[_ngcontent-%COMP%] {\n width: 100%;\n justify-content: flex-start;\n }\n\n .search-container[_ngcontent-%COMP%] {\n max-width: none;\n flex: 1;\n }\n}\n\n@media (max-width: 640px) {\n .toolbar-right[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n\n .results-count[_ngcontent-%COMP%] {\n order: -1;\n width: 100%;\n }\n}"], changeDetection: 0 });
469
+ }
470
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionToolbarComponent, [{
471
+ type: Component,
472
+ args: [{ selector: 'mj-action-toolbar', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"action-toolbar\">\n <div class=\"toolbar-left\">\n <!-- Search -->\n <div class=\"search-container\">\n <kendo-textbox\n [placeholder]=\"'Search actions...'\"\n [value]=\"Filters.searchTerm\"\n (valueChange)=\"onSearchInput($event)\">\n <ng-template kendoTextBoxPrefixTemplate>\n <i class=\"fa-solid fa-search\"></i>\n </ng-template>\n @if (Filters.searchTerm) {\n <ng-template kendoTextBoxSuffixTemplate>\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n (click)=\"clearSearch()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </ng-template>\n }\n </kendo-textbox>\n </div>\n\n <!-- Filters Dropdown -->\n <div class=\"dropdown-container\" (clickOutside)=\"ShowFiltersDropdown = false\">\n <button kendoButton\n [fillMode]=\"'outline'\"\n [class.active]=\"hasActiveFilters()\"\n (click)=\"toggleFiltersDropdown()\">\n <i class=\"fa-solid fa-filter\"></i>\n Filters\n @if (getActiveFilterCount() > 0) {\n <span class=\"filter-badge\">{{ getActiveFilterCount() }}</span>\n }\n <i [class]=\"ShowFiltersDropdown ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'\"></i>\n </button>\n\n @if (ShowFiltersDropdown) {\n <div class=\"dropdown-menu filters-menu\">\n <div class=\"dropdown-section\">\n <div class=\"section-header\">\n <span>Status</span>\n @if (Filters.statuses.length > 0) {\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n (click)=\"StateService.setStatusFilter([])\">\n Clear\n </button>\n }\n </div>\n <div class=\"filter-options\">\n @for (status of StatusOptions; track status.value) {\n <label class=\"filter-option\" [class.selected]=\"isStatusSelected(status.value)\">\n <input type=\"checkbox\"\n [checked]=\"isStatusSelected(status.value)\"\n (change)=\"toggleStatus(status.value)\">\n <span class=\"status-dot\" [attr.data-status]=\"status.value\"></span>\n {{ status.label }}\n </label>\n }\n </div>\n </div>\n\n <div class=\"dropdown-section\">\n <div class=\"section-header\">\n <span>Type</span>\n @if (Filters.types.length > 0) {\n <button kendoButton\n [fillMode]=\"'flat'\"\n [size]=\"'small'\"\n (click)=\"StateService.setTypeFilter([])\">\n Clear\n </button>\n }\n </div>\n <div class=\"filter-options\">\n @for (type of TypeOptions; track type.value) {\n <label class=\"filter-option\" [class.selected]=\"isTypeSelected(type.value)\">\n <input type=\"checkbox\"\n [checked]=\"isTypeSelected(type.value)\"\n (change)=\"toggleType(type.value)\">\n <i [class]=\"type.icon\"></i>\n {{ type.label }}\n </label>\n }\n </div>\n </div>\n\n @if (hasActiveFilters()) {\n <div class=\"dropdown-footer\">\n <button kendoButton\n [fillMode]=\"'flat'\"\n [themeColor]=\"'error'\"\n (click)=\"clearFilters()\">\n <i class=\"fa-solid fa-times\"></i>\n Clear All Filters\n </button>\n </div>\n }\n </div>\n }\n </div>\n\n <!-- Active Filter Chips -->\n @if (hasActiveFilters()) {\n <div class=\"active-filters\">\n @for (status of Filters.statuses; track status) {\n <kendo-chip\n [removable]=\"true\"\n [size]=\"'small'\"\n (remove)=\"toggleStatus(status)\">\n Status: {{ status }}\n </kendo-chip>\n }\n @for (type of Filters.types; track type) {\n <kendo-chip\n [removable]=\"true\"\n [size]=\"'small'\"\n (remove)=\"toggleType(type)\">\n Type: {{ type === 'Generated' ? 'AI Generated' : type }}\n </kendo-chip>\n }\n </div>\n }\n </div>\n\n <div class=\"toolbar-right\">\n <!-- Results Count -->\n <div class=\"results-count\">\n <span class=\"count\">{{ FilteredCount }}</span>\n @if (FilteredCount !== TotalCount) {\n <span class=\"of-total\">of {{ TotalCount }}</span>\n }\n <span class=\"label\">actions</span>\n </div>\n\n <!-- Sort Dropdown -->\n <div class=\"dropdown-container\" (clickOutside)=\"ShowSortDropdown = false\">\n <button kendoButton\n [fillMode]=\"'outline'\"\n (click)=\"toggleSortDropdown()\">\n <i [class]=\"getSortIcon()\"></i>\n {{ getSortLabel() }}\n <i [class]=\"ShowSortDropdown ? 'fa-solid fa-chevron-up' : 'fa-solid fa-chevron-down'\"></i>\n </button>\n\n @if (ShowSortDropdown) {\n <div class=\"dropdown-menu sort-menu\">\n @for (option of SortOptions; track option.field) {\n <button class=\"sort-option\"\n [class.selected]=\"SortField === option.field\"\n (click)=\"setSortField(option.field)\">\n <i [class]=\"option.icon\"></i>\n {{ option.label }}\n @if (SortField === option.field) {\n <i [class]=\"SortDirection === 'asc' ? 'fa-solid fa-arrow-up' : 'fa-solid fa-arrow-down'\" class=\"direction-icon\"></i>\n }\n </button>\n }\n </div>\n }\n </div>\n\n <!-- View Mode Toggle -->\n <div class=\"view-toggle\">\n <button kendoButton\n [fillMode]=\"ViewMode === 'card' ? 'solid' : 'outline'\"\n [themeColor]=\"ViewMode === 'card' ? 'primary' : 'base'\"\n title=\"Card View\"\n (click)=\"setViewMode('card')\">\n <i class=\"fa-solid fa-grip\"></i>\n </button>\n <button kendoButton\n [fillMode]=\"ViewMode === 'list' ? 'solid' : 'outline'\"\n [themeColor]=\"ViewMode === 'list' ? 'primary' : 'base'\"\n title=\"List View\"\n (click)=\"setViewMode('list')\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n <button kendoButton\n [fillMode]=\"ViewMode === 'compact' ? 'solid' : 'outline'\"\n [themeColor]=\"ViewMode === 'compact' ? 'primary' : 'base'\"\n title=\"Compact View\"\n (click)=\"setViewMode('compact')\">\n <i class=\"fa-solid fa-bars\"></i>\n </button>\n </div>\n\n <!-- Refresh Button -->\n <button kendoButton\n [fillMode]=\"'flat'\"\n title=\"Refresh\"\n (click)=\"onRefresh()\">\n <i class=\"fa-solid fa-refresh\"></i>\n </button>\n\n <!-- New Action Button -->\n <button kendoButton\n [fillMode]=\"'solid'\"\n [themeColor]=\"'primary'\"\n (click)=\"onNewAction()\">\n <i class=\"fa-solid fa-plus\"></i>\n New Action\n </button>\n </div>\n</div>\n", styles: [".action-toolbar {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 12px 20px;\n background: var(--kendo-color-surface);\n border-bottom: 1px solid var(--kendo-color-border);\n gap: 16px;\n flex-wrap: wrap;\n}\n\n.toolbar-left {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n min-width: 0;\n flex-wrap: wrap;\n}\n\n.toolbar-right {\n display: flex;\n align-items: center;\n gap: 12px;\n flex-shrink: 0;\n}\n\n/* Search */\n.search-container {\n min-width: 200px;\n max-width: 320px;\n flex: 1;\n}\n\n.search-container kendo-textbox {\n width: 100%;\n}\n\n.search-container i.fa-search {\n font-size: 13px;\n color: var(--kendo-color-subtle);\n}\n\n/* Dropdown Container */\n.dropdown-container {\n position: relative;\n}\n\n.dropdown-container > button {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.dropdown-container > button.active {\n border-color: var(--kendo-color-primary);\n background: var(--kendo-color-primary-subtle);\n}\n\n.dropdown-container > button i:last-child {\n font-size: 10px;\n margin-left: 4px;\n}\n\n.filter-badge {\n background: var(--kendo-color-primary);\n color: white;\n font-size: 10px;\n font-weight: 600;\n padding: 2px 6px;\n border-radius: 10px;\n min-width: 18px;\n text-align: center;\n}\n\n/* Dropdown Menu */\n.dropdown-menu {\n position: absolute;\n top: calc(100% + 4px);\n left: 0;\n background: var(--kendo-color-surface);\n border: 1px solid var(--kendo-color-border);\n border-radius: 8px;\n box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);\n z-index: 100;\n min-width: 220px;\n padding: 8px 0;\n}\n\n.dropdown-menu.sort-menu {\n right: 0;\n left: auto;\n}\n\n/* Dropdown Section */\n.dropdown-section {\n padding: 8px 12px;\n}\n\n.dropdown-section:not(:last-child) {\n border-bottom: 1px solid var(--kendo-color-border);\n}\n\n.section-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 8px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n color: var(--kendo-color-subtle);\n letter-spacing: 0.5px;\n}\n\n.section-header button {\n font-size: 11px;\n padding: 2px 6px;\n}\n\n.filter-options {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.filter-option {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 8px;\n border-radius: 4px;\n cursor: pointer;\n transition: background 0.15s ease;\n font-size: 13px;\n}\n\n.filter-option:hover {\n background: var(--kendo-color-base-hover);\n}\n\n.filter-option.selected {\n background: var(--kendo-color-primary-subtle);\n}\n\n.filter-option input[type=\"checkbox\"] {\n display: none;\n}\n\n.filter-option i {\n font-size: 13px;\n width: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.filter-option.selected i {\n color: var(--kendo-color-primary);\n}\n\n.status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n}\n\n.status-dot[data-status=\"Active\"] {\n background: var(--kendo-color-success);\n}\n\n.status-dot[data-status=\"Pending\"] {\n background: var(--kendo-color-warning);\n}\n\n.status-dot[data-status=\"Disabled\"] {\n background: var(--kendo-color-error);\n}\n\n.dropdown-footer {\n padding: 8px 12px;\n border-top: 1px solid var(--kendo-color-border);\n}\n\n.dropdown-footer button {\n width: 100%;\n}\n\n/* Sort Options */\n.sort-option {\n display: flex;\n align-items: center;\n gap: 10px;\n width: 100%;\n padding: 8px 12px;\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 13px;\n text-align: left;\n transition: background 0.15s ease;\n}\n\n.sort-option:hover {\n background: var(--kendo-color-base-hover);\n}\n\n.sort-option.selected {\n background: var(--kendo-color-primary-subtle);\n color: var(--kendo-color-primary);\n}\n\n.sort-option i:first-child {\n width: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.sort-option.selected i:first-child {\n color: var(--kendo-color-primary);\n}\n\n.sort-option .direction-icon {\n margin-left: auto;\n font-size: 11px;\n}\n\n/* Active Filters */\n.active-filters {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.active-filters kendo-chip {\n font-size: 12px;\n}\n\n/* Results Count */\n.results-count {\n display: flex;\n align-items: baseline;\n gap: 4px;\n font-size: 13px;\n color: var(--kendo-color-subtle);\n white-space: nowrap;\n}\n\n.results-count .count {\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n font-size: 14px;\n}\n\n.results-count .of-total {\n opacity: 0.7;\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n border: 1px solid var(--kendo-color-border);\n border-radius: 4px;\n overflow: hidden;\n}\n\n.view-toggle button {\n border-radius: 0;\n border: none;\n min-width: 36px;\n}\n\n.view-toggle button:not(:last-child) {\n border-right: 1px solid var(--kendo-color-border);\n}\n\n/* Responsive */\n@media (max-width: 1024px) {\n .action-toolbar {\n flex-direction: column;\n align-items: stretch;\n }\n\n .toolbar-left,\n .toolbar-right {\n width: 100%;\n justify-content: flex-start;\n }\n\n .search-container {\n max-width: none;\n flex: 1;\n }\n}\n\n@media (max-width: 640px) {\n .toolbar-right {\n flex-wrap: wrap;\n }\n\n .results-count {\n order: -1;\n width: 100%;\n }\n}\n"] }]
473
+ }], () => [{ type: i1.ActionExplorerStateService }, { type: i0.ChangeDetectorRef }], { TotalCount: [{
474
+ type: Input
475
+ }], FilteredCount: [{
476
+ type: Input
477
+ }], NewActionClick: [{
478
+ type: Output
479
+ }], RefreshClick: [{
480
+ type: Output
481
+ }] }); })();
482
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionToolbarComponent, { className: "ActionToolbarComponent", filePath: "src/Actions/components/explorer/action-toolbar.component.ts", lineNumber: 33 }); })();
483
+ //# sourceMappingURL=action-toolbar.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-toolbar.component.js","sourceRoot":"","sources":["../../../../src/Actions/components/explorer/action-toolbar.component.ts","../../../../src/Actions/components/explorer/action-toolbar.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { EventEmitter, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
+ import { ActionCategoryEntity } from '@memberjunction/core-entities';
3
+ import { ActionExplorerStateService } from '../../services/action-explorer-state.service';
4
+ import { ActionEntityExtended } from '@memberjunction/actions-base';
5
+ import * as i0 from "@angular/core";
6
+ export interface CategoryTreeNode {
7
+ category: ActionCategoryEntity;
8
+ children: CategoryTreeNode[];
9
+ level: number;
10
+ actionCount: number;
11
+ totalActionCount: number;
12
+ }
13
+ export declare class ActionTreePanelComponent implements OnInit, OnDestroy {
14
+ StateService: ActionExplorerStateService;
15
+ private cdr;
16
+ Categories: ActionCategoryEntity[];
17
+ Actions: ActionEntityExtended[];
18
+ CategorySelected: EventEmitter<string>;
19
+ NewCategoryClick: EventEmitter<string | null>;
20
+ EditCategoryClick: EventEmitter<ActionCategoryEntity>;
21
+ CategoryTree: CategoryTreeNode[];
22
+ SelectedCategoryId: string;
23
+ ExpandedCategories: Set<string>;
24
+ TreeWidth: number;
25
+ IsCollapsed: boolean;
26
+ IsResizing: boolean;
27
+ SearchTerm: string;
28
+ FilteredTree: CategoryTreeNode[];
29
+ private destroy$;
30
+ private categoryParentMap;
31
+ private categoryDescendants;
32
+ constructor(StateService: ActionExplorerStateService, cdr: ChangeDetectorRef);
33
+ ngOnInit(): void;
34
+ ngOnDestroy(): void;
35
+ private subscribeToState;
36
+ buildCategoryTree(): void;
37
+ private filterTree;
38
+ onSearchChange(term: string): void;
39
+ getTotalActionCount(): number;
40
+ getUncategorizedCount(): number;
41
+ selectCategory(categoryId: string): void;
42
+ toggleExpanded(categoryId: string, event: MouseEvent): void;
43
+ isExpanded(categoryId: string): boolean;
44
+ isSelected(categoryId: string): boolean;
45
+ toggleCollapse(): void;
46
+ onNewCategory(parentId: string | null, event: MouseEvent): void;
47
+ onEditCategory(category: ActionCategoryEntity, event: MouseEvent): void;
48
+ expandAll(): void;
49
+ collapseAll(): void;
50
+ onResizeStart(event: MouseEvent): void;
51
+ onMouseMove(event: MouseEvent): void;
52
+ onMouseUp(): void;
53
+ getCategoryDescendants(categoryId: string): Set<string>;
54
+ static ɵfac: i0.ɵɵFactoryDeclaration<ActionTreePanelComponent, never>;
55
+ static ɵcmp: i0.ɵɵComponentDeclaration<ActionTreePanelComponent, "mj-action-tree-panel", never, { "Categories": { "alias": "Categories"; "required": false; }; "Actions": { "alias": "Actions"; "required": false; }; }, { "CategorySelected": "CategorySelected"; "NewCategoryClick": "NewCategoryClick"; "EditCategoryClick": "EditCategoryClick"; }, never, never, false, never>;
56
+ }
57
+ //# sourceMappingURL=action-tree-panel.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-tree-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/Actions/components/explorer/action-tree-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,MAAM,EACN,SAAS,EAET,iBAAiB,EAElB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;;AAEpE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,qBAMa,wBAAyB,YAAW,MAAM,EAAE,SAAS;IAqBvD,YAAY,EAAE,0BAA0B;IAC/C,OAAO,CAAC,GAAG;IArBJ,UAAU,EAAE,oBAAoB,EAAE,CAAM;IACxC,OAAO,EAAE,oBAAoB,EAAE,CAAM;IACpC,gBAAgB,uBAA8B;IAC9C,gBAAgB,8BAAqC;IACrD,iBAAiB,qCAA4C;IAEhE,YAAY,EAAE,gBAAgB,EAAE,CAAM;IACtC,kBAAkB,SAAS;IAC3B,kBAAkB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAC5C,SAAS,SAAO;IAChB,WAAW,UAAS;IACpB,UAAU,UAAS;IACnB,UAAU,SAAM;IAChB,YAAY,EAAE,gBAAgB,EAAE,CAAM;IAE7C,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,mBAAmB,CAAkC;gBAGpD,YAAY,EAAE,0BAA0B,EACvC,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAKhB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,gBAAgB;IAsBjB,iBAAiB,IAAI,IAAI;IAmFhC,OAAO,CAAC,UAAU;IAgBX,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMlC,mBAAmB,IAAI,MAAM;IAI7B,qBAAqB,IAAI,MAAM;IAI/B,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKxC,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAK3D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvC,cAAc,IAAI,IAAI;IAItB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAK/D,cAAc,CAAC,QAAQ,EAAE,oBAAoB,EAAE,KAAK,EAAE,UAAU,GAAG,IAAI;IAKvE,SAAS,IAAI,IAAI;IAIjB,WAAW,IAAI,IAAI;IAKnB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAQ7C,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAcpC,SAAS,IAAI,IAAI;IASV,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;yCAlPnD,wBAAwB;2CAAxB,wBAAwB;CAqPpC"}