@memberjunction/ng-dashboards 5.34.1 → 5.36.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 (407) hide show
  1. package/dist/AI/components/agents/agent-configuration.component.d.ts +51 -0
  2. package/dist/AI/components/agents/agent-configuration.component.d.ts.map +1 -1
  3. package/dist/AI/components/agents/agent-configuration.component.js +399 -292
  4. package/dist/AI/components/agents/agent-configuration.component.js.map +1 -1
  5. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts +8 -2
  6. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.d.ts.map +1 -1
  7. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js +87 -85
  8. package/dist/AI/components/analytics/agent-runs/agent-run-analysis.component.js.map +1 -1
  9. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts +96 -0
  10. package/dist/AI/components/analytics/ai-analytics-resource.component.d.ts.map +1 -1
  11. package/dist/AI/components/analytics/ai-analytics-resource.component.js +453 -122
  12. package/dist/AI/components/analytics/ai-analytics-resource.component.js.map +1 -1
  13. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts +5 -0
  14. package/dist/AI/components/analytics/analytics-filter-bar.component.d.ts.map +1 -1
  15. package/dist/AI/components/analytics/analytics-filter-bar.component.js +184 -135
  16. package/dist/AI/components/analytics/analytics-filter-bar.component.js.map +1 -1
  17. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts +8 -2
  18. package/dist/AI/components/analytics/cost-budget/cost-budget.component.d.ts.map +1 -1
  19. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js +104 -103
  20. package/dist/AI/components/analytics/cost-budget/cost-budget.component.js.map +1 -1
  21. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts +8 -2
  22. package/dist/AI/components/analytics/error-analysis/error-analysis.component.d.ts.map +1 -1
  23. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js +76 -74
  24. package/dist/AI/components/analytics/error-analysis/error-analysis.component.js.map +1 -1
  25. package/dist/AI/components/analytics/executive-summary/executive-summary.component.d.ts.map +1 -1
  26. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js +67 -87
  27. package/dist/AI/components/analytics/executive-summary/executive-summary.component.js.map +1 -1
  28. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts +12 -19
  29. package/dist/AI/components/analytics/model-performance/model-performance.component.d.ts.map +1 -1
  30. package/dist/AI/components/analytics/model-performance/model-performance.component.js +96 -203
  31. package/dist/AI/components/analytics/model-performance/model-performance.component.js.map +1 -1
  32. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.d.ts.map +1 -1
  33. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js +110 -126
  34. package/dist/AI/components/analytics/prompt-runs/prompt-run-analysis.component.js.map +1 -1
  35. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.d.ts.map +1 -1
  36. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js +61 -77
  37. package/dist/AI/components/analytics/usage-patterns/usage-patterns.component.js.map +1 -1
  38. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts +28 -0
  39. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.d.ts.map +1 -1
  40. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js +2084 -2079
  41. package/dist/AI/components/autotagging/autotagging-pipeline-resource.component.js.map +1 -1
  42. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts +6 -3
  43. package/dist/AI/components/duplicates/duplicate-detection-resource.component.d.ts.map +1 -1
  44. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js +493 -490
  45. package/dist/AI/components/duplicates/duplicate-detection-resource.component.js.map +1 -1
  46. package/dist/AI/components/models/model-management.component.d.ts +17 -0
  47. package/dist/AI/components/models/model-management.component.d.ts.map +1 -1
  48. package/dist/AI/components/models/model-management.component.js +370 -425
  49. package/dist/AI/components/models/model-management.component.js.map +1 -1
  50. package/dist/AI/components/prompts/prompt-management.component.d.ts +17 -0
  51. package/dist/AI/components/prompts/prompt-management.component.d.ts.map +1 -1
  52. package/dist/AI/components/prompts/prompt-management.component.js +317 -357
  53. package/dist/AI/components/prompts/prompt-management.component.js.map +1 -1
  54. package/dist/AI/components/requests/agent-requests-resource.component.d.ts +11 -0
  55. package/dist/AI/components/requests/agent-requests-resource.component.d.ts.map +1 -1
  56. package/dist/AI/components/requests/agent-requests-resource.component.js +170 -175
  57. package/dist/AI/components/requests/agent-requests-resource.component.js.map +1 -1
  58. package/dist/AI/components/system/system-configuration.component.d.ts +19 -0
  59. package/dist/AI/components/system/system-configuration.component.d.ts.map +1 -1
  60. package/dist/AI/components/system/system-configuration.component.js +403 -362
  61. package/dist/AI/components/system/system-configuration.component.js.map +1 -1
  62. package/dist/AI/components/tags/tags-resource.component.d.ts +15 -0
  63. package/dist/AI/components/tags/tags-resource.component.d.ts.map +1 -1
  64. package/dist/AI/components/tags/tags-resource.component.js +1423 -1438
  65. package/dist/AI/components/tags/tags-resource.component.js.map +1 -1
  66. package/dist/AI/components/vectors/vector-management-resource.component.d.ts +8 -3
  67. package/dist/AI/components/vectors/vector-management-resource.component.d.ts.map +1 -1
  68. package/dist/AI/components/vectors/vector-management-resource.component.js +547 -521
  69. package/dist/AI/components/vectors/vector-management-resource.component.js.map +1 -1
  70. package/dist/APIKeys/api-keys-resource.component.d.ts +12 -8
  71. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -1
  72. package/dist/APIKeys/api-keys-resource.component.js +329 -371
  73. package/dist/APIKeys/api-keys-resource.component.js.map +1 -1
  74. package/dist/Actions/components/actions-overview.component.d.ts +6 -0
  75. package/dist/Actions/components/actions-overview.component.d.ts.map +1 -1
  76. package/dist/Actions/components/actions-overview.component.js +202 -158
  77. package/dist/Actions/components/actions-overview.component.js.map +1 -1
  78. package/dist/Actions/components/execution-monitoring.component.d.ts +9 -3
  79. package/dist/Actions/components/execution-monitoring.component.d.ts.map +1 -1
  80. package/dist/Actions/components/execution-monitoring.component.js +191 -142
  81. package/dist/Actions/components/execution-monitoring.component.js.map +1 -1
  82. package/dist/Actions/components/explorer/action-explorer.component.d.ts +41 -1
  83. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -1
  84. package/dist/Actions/components/explorer/action-explorer.component.js +388 -94
  85. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -1
  86. package/dist/Actions/components/explorer/index.d.ts +0 -1
  87. package/dist/Actions/components/explorer/index.d.ts.map +1 -1
  88. package/dist/Actions/components/explorer/index.js +0 -1
  89. package/dist/Actions/components/explorer/index.js.map +1 -1
  90. package/dist/Admin/admin-data-schema.component.js +19 -79
  91. package/dist/Admin/admin-data-schema.component.js.map +1 -1
  92. package/dist/Admin/admin-dev-tools-resource.component.js +19 -79
  93. package/dist/Admin/admin-dev-tools-resource.component.js.map +1 -1
  94. package/dist/Admin/admin-identity-access.component.js +19 -79
  95. package/dist/Admin/admin-identity-access.component.js.map +1 -1
  96. package/dist/Admin/admin-monitoring.component.js +19 -79
  97. package/dist/Admin/admin-monitoring.component.js.map +1 -1
  98. package/dist/Admin/base-admin-container.component.d.ts +9 -7
  99. package/dist/Admin/base-admin-container.component.d.ts.map +1 -1
  100. package/dist/Admin/base-admin-container.component.js +26 -17
  101. package/dist/Admin/base-admin-container.component.js.map +1 -1
  102. package/dist/ApplicationRoles/application-roles-resource.component.js +92 -91
  103. package/dist/ApplicationRoles/application-roles-resource.component.js.map +1 -1
  104. package/dist/Archiving/components/archive-config-resource.component.d.ts.map +1 -1
  105. package/dist/Archiving/components/archive-config-resource.component.js +24 -5
  106. package/dist/Archiving/components/archive-config-resource.component.js.map +1 -1
  107. package/dist/Archiving/components/archive-runs-resource.component.d.ts.map +1 -1
  108. package/dist/Archiving/components/archive-runs-resource.component.js +24 -5
  109. package/dist/Archiving/components/archive-runs-resource.component.js.map +1 -1
  110. package/dist/Communication/communication-logs-resource.component.d.ts +1 -1
  111. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  112. package/dist/Communication/communication-logs-resource.component.js +80 -99
  113. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  114. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  115. package/dist/Communication/communication-monitor-resource.component.js +127 -106
  116. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  117. package/dist/Communication/communication-new-message-resource.component.d.ts +93 -0
  118. package/dist/Communication/communication-new-message-resource.component.d.ts.map +1 -0
  119. package/dist/Communication/communication-new-message-resource.component.js +661 -0
  120. package/dist/Communication/communication-new-message-resource.component.js.map +1 -0
  121. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  122. package/dist/Communication/communication-providers-resource.component.js +44 -45
  123. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  124. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  125. package/dist/Communication/communication-runs-resource.component.js +60 -58
  126. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  127. package/dist/Communication/communication-templates-resource.component.d.ts +1 -1
  128. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -1
  129. package/dist/Communication/communication-templates-resource.component.js +139 -162
  130. package/dist/Communication/communication-templates-resource.component.js.map +1 -1
  131. package/dist/Credentials/components/credentials-audit-resource.component.d.ts +7 -0
  132. package/dist/Credentials/components/credentials-audit-resource.component.d.ts.map +1 -1
  133. package/dist/Credentials/components/credentials-audit-resource.component.js +310 -297
  134. package/dist/Credentials/components/credentials-audit-resource.component.js.map +1 -1
  135. package/dist/Credentials/components/credentials-categories-resource.component.js +238 -266
  136. package/dist/Credentials/components/credentials-categories-resource.component.js.map +1 -1
  137. package/dist/Credentials/components/credentials-list-resource.component.d.ts +7 -0
  138. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  139. package/dist/Credentials/components/credentials-list-resource.component.js +381 -399
  140. package/dist/Credentials/components/credentials-list-resource.component.js.map +1 -1
  141. package/dist/Credentials/components/credentials-overview-resource.component.js +222 -228
  142. package/dist/Credentials/components/credentials-overview-resource.component.js.map +1 -1
  143. package/dist/Credentials/components/credentials-types-resource.component.d.ts +6 -0
  144. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  145. package/dist/Credentials/components/credentials-types-resource.component.js +290 -305
  146. package/dist/Credentials/components/credentials-types-resource.component.js.map +1 -1
  147. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts +8 -0
  148. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.d.ts.map +1 -1
  149. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js +41 -21
  150. package/dist/DatabaseDesigner/components/database-designer-dashboard.component.js.map +1 -1
  151. package/dist/DatabaseDesigner/components/entity-list.component.d.ts +2 -0
  152. package/dist/DatabaseDesigner/components/entity-list.component.d.ts.map +1 -1
  153. package/dist/DatabaseDesigner/components/entity-list.component.js +148 -155
  154. package/dist/DatabaseDesigner/components/entity-list.component.js.map +1 -1
  155. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts +1 -1
  156. package/dist/DatabaseDesigner/database-designer-dashboards.module.d.ts.map +1 -1
  157. package/dist/DatabaseDesigner/database-designer-dashboards.module.js +25 -1
  158. package/dist/DatabaseDesigner/database-designer-dashboards.module.js.map +1 -1
  159. package/dist/DevTools/app-state-inspector.component.d.ts +5 -0
  160. package/dist/DevTools/app-state-inspector.component.d.ts.map +1 -1
  161. package/dist/DevTools/app-state-inspector.component.js +46 -72
  162. package/dist/DevTools/app-state-inspector.component.js.map +1 -1
  163. package/dist/DevTools/class-registry.component.js +88 -100
  164. package/dist/DevTools/class-registry.component.js.map +1 -1
  165. package/dist/DevTools/event-monitor.component.js +158 -168
  166. package/dist/DevTools/event-monitor.component.js.map +1 -1
  167. package/dist/DevTools/graphql-console.component.js +257 -264
  168. package/dist/DevTools/graphql-console.component.js.map +1 -1
  169. package/dist/DevTools/layout-inspector.component.d.ts +5 -0
  170. package/dist/DevTools/layout-inspector.component.d.ts.map +1 -1
  171. package/dist/DevTools/layout-inspector.component.js +46 -64
  172. package/dist/DevTools/layout-inspector.component.js.map +1 -1
  173. package/dist/DevTools/lazy-module-status.component.js +75 -84
  174. package/dist/DevTools/lazy-module-status.component.js.map +1 -1
  175. package/dist/DevTools/settings-explorer.component.js +76 -85
  176. package/dist/DevTools/settings-explorer.component.js.map +1 -1
  177. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts +2 -0
  178. package/dist/EntityAdmin/entity-admin-dashboard.component.d.ts.map +1 -1
  179. package/dist/EntityAdmin/entity-admin-dashboard.component.js +24 -16
  180. package/dist/EntityAdmin/entity-admin-dashboard.component.js.map +1 -1
  181. package/dist/Home/home-dashboard.component.d.ts +6 -0
  182. package/dist/Home/home-dashboard.component.d.ts.map +1 -1
  183. package/dist/Home/home-dashboard.component.js +521 -485
  184. package/dist/Home/home-dashboard.component.js.map +1 -1
  185. package/dist/Integration/components/activity/activity.component.d.ts +8 -0
  186. package/dist/Integration/components/activity/activity.component.d.ts.map +1 -1
  187. package/dist/Integration/components/activity/activity.component.js +307 -318
  188. package/dist/Integration/components/activity/activity.component.js.map +1 -1
  189. package/dist/Integration/components/connections/connections.component.js +654 -648
  190. package/dist/Integration/components/connections/connections.component.js.map +1 -1
  191. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js +234 -233
  192. package/dist/Integration/components/mapping-workspace/mapping-workspace.component.js.map +1 -1
  193. package/dist/Integration/components/overview/overview.component.js +182 -163
  194. package/dist/Integration/components/overview/overview.component.js.map +1 -1
  195. package/dist/Integration/components/pipelines/pipelines.component.d.ts +2 -0
  196. package/dist/Integration/components/pipelines/pipelines.component.d.ts.map +1 -1
  197. package/dist/Integration/components/pipelines/pipelines.component.js +595 -606
  198. package/dist/Integration/components/pipelines/pipelines.component.js.map +1 -1
  199. package/dist/Integration/components/schedules/schedules.component.js +230 -241
  200. package/dist/Integration/components/schedules/schedules.component.js.map +1 -1
  201. package/dist/Integration/integration.module.d.ts +1 -1
  202. package/dist/Integration/integration.module.d.ts.map +1 -1
  203. package/dist/Integration/integration.module.js +28 -1
  204. package/dist/Integration/integration.module.js.map +1 -1
  205. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts +5 -0
  206. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.d.ts.map +1 -1
  207. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js +1138 -1147
  208. package/dist/KnowledgeHub/components/analytics/analytics-resource.component.js.map +1 -1
  209. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js +54 -51
  210. package/dist/KnowledgeHub/components/clusters/cluster-visualization-resource.component.js.map +1 -1
  211. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts +11 -0
  212. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.d.ts.map +1 -1
  213. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js +684 -697
  214. package/dist/KnowledgeHub/components/config/knowledge-config-resource.component.js.map +1 -1
  215. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts +12 -1
  216. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.d.ts.map +1 -1
  217. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js +191 -120
  218. package/dist/KnowledgeHub/components/scheduling/scheduling-resource.component.js.map +1 -1
  219. package/dist/Lists/components/lists-browse-resource.component.d.ts +120 -1
  220. package/dist/Lists/components/lists-browse-resource.component.d.ts.map +1 -1
  221. package/dist/Lists/components/lists-browse-resource.component.js +1239 -610
  222. package/dist/Lists/components/lists-browse-resource.component.js.map +1 -1
  223. package/dist/Lists/components/lists-categories-resource.component.d.ts.map +1 -1
  224. package/dist/Lists/components/lists-categories-resource.component.js +152 -160
  225. package/dist/Lists/components/lists-categories-resource.component.js.map +1 -1
  226. package/dist/Lists/components/lists-my-lists-resource.component.d.ts.map +1 -1
  227. package/dist/Lists/components/lists-my-lists-resource.component.js +302 -319
  228. package/dist/Lists/components/lists-my-lists-resource.component.js.map +1 -1
  229. package/dist/Lists/components/lists-operations-resource.component.d.ts +133 -3
  230. package/dist/Lists/components/lists-operations-resource.component.d.ts.map +1 -1
  231. package/dist/Lists/components/lists-operations-resource.component.js +1460 -272
  232. package/dist/Lists/components/lists-operations-resource.component.js.map +1 -1
  233. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts +29 -0
  234. package/dist/Lists/components/lists-shared-with-me-resource.component.d.ts.map +1 -0
  235. package/dist/Lists/components/lists-shared-with-me-resource.component.js +77 -0
  236. package/dist/Lists/components/lists-shared-with-me-resource.component.js.map +1 -0
  237. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts +6 -0
  238. package/dist/Lists/components/venn-diagram/venn-diagram.component.d.ts.map +1 -1
  239. package/dist/Lists/components/venn-diagram/venn-diagram.component.js +35 -7
  240. package/dist/Lists/components/venn-diagram/venn-diagram.component.js.map +1 -1
  241. package/dist/Lists/index.d.ts +1 -0
  242. package/dist/Lists/index.d.ts.map +1 -1
  243. package/dist/Lists/index.js +1 -0
  244. package/dist/Lists/index.js.map +1 -1
  245. package/dist/Lists/services/list-set-operations.service.d.ts +93 -2
  246. package/dist/Lists/services/list-set-operations.service.d.ts.map +1 -1
  247. package/dist/Lists/services/list-set-operations.service.js +236 -10
  248. package/dist/Lists/services/list-set-operations.service.js.map +1 -1
  249. package/dist/MCP/mcp-dashboard.component.d.ts +20 -0
  250. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -1
  251. package/dist/MCP/mcp-dashboard.component.js +1248 -1338
  252. package/dist/MCP/mcp-dashboard.component.js.map +1 -1
  253. package/dist/MCP/mcp.module.d.ts +1 -1
  254. package/dist/MCP/mcp.module.d.ts.map +1 -1
  255. package/dist/MCP/mcp.module.js +34 -1
  256. package/dist/MCP/mcp.module.js.map +1 -1
  257. package/dist/Permissions/audit-log-resource.component.js +76 -85
  258. package/dist/Permissions/audit-log-resource.component.js.map +1 -1
  259. package/dist/Permissions/resource-access-resource.component.js +64 -69
  260. package/dist/Permissions/resource-access-resource.component.js.map +1 -1
  261. package/dist/Permissions/user-access-resource.component.js +63 -74
  262. package/dist/Permissions/user-access-resource.component.js.map +1 -1
  263. package/dist/QueryBrowser/query-browser-resource.component.js +2 -2
  264. package/dist/QueryBrowser/query-browser-resource.component.js.map +1 -1
  265. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +2 -1
  266. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -1
  267. package/dist/Scheduling/components/scheduling-activity-resource.component.js +11 -12
  268. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -1
  269. package/dist/Scheduling/components/scheduling-activity.component.d.ts +9 -1
  270. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -1
  271. package/dist/Scheduling/components/scheduling-activity.component.js +250 -197
  272. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -1
  273. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +2 -1
  274. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  275. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +11 -12
  276. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  277. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +9 -1
  278. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  279. package/dist/Scheduling/components/scheduling-jobs.component.js +203 -147
  280. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  281. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +2 -1
  282. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -1
  283. package/dist/Scheduling/components/scheduling-overview-resource.component.js +11 -12
  284. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -1
  285. package/dist/Scheduling/components/scheduling-overview.component.d.ts +3 -1
  286. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -1
  287. package/dist/Scheduling/components/scheduling-overview.component.js +224 -190
  288. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -1
  289. package/dist/Scheduling/scheduling-dashboard.component.d.ts +19 -6
  290. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  291. package/dist/Scheduling/scheduling-dashboard.component.js +259 -103
  292. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  293. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts +13 -3
  294. package/dist/SystemDiagnostics/system-diagnostics.component.d.ts.map +1 -1
  295. package/dist/SystemDiagnostics/system-diagnostics.component.js +1009 -1264
  296. package/dist/SystemDiagnostics/system-diagnostics.component.js.map +1 -1
  297. package/dist/Testing/components/testing-analytics-resource.component.d.ts +2 -1
  298. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  299. package/dist/Testing/components/testing-analytics-resource.component.js +7 -14
  300. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  301. package/dist/Testing/components/testing-analytics.component.d.ts +3 -1
  302. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  303. package/dist/Testing/components/testing-analytics.component.js +420 -393
  304. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  305. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +2 -1
  306. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -1
  307. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +16 -19
  308. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -1
  309. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +3 -1
  310. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -1
  311. package/dist/Testing/components/testing-dashboard-tab.component.js +157 -122
  312. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -1
  313. package/dist/Testing/components/testing-explorer-resource.component.d.ts +2 -1
  314. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -1
  315. package/dist/Testing/components/testing-explorer-resource.component.js +7 -12
  316. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -1
  317. package/dist/Testing/components/testing-explorer.component.d.ts +38 -6
  318. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -1
  319. package/dist/Testing/components/testing-explorer.component.js +679 -786
  320. package/dist/Testing/components/testing-explorer.component.js.map +1 -1
  321. package/dist/Testing/components/testing-review-resource.component.d.ts +4 -1
  322. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -1
  323. package/dist/Testing/components/testing-review-resource.component.js +9 -12
  324. package/dist/Testing/components/testing-review-resource.component.js.map +1 -1
  325. package/dist/Testing/components/testing-review.component.d.ts +3 -1
  326. package/dist/Testing/components/testing-review.component.d.ts.map +1 -1
  327. package/dist/Testing/components/testing-review.component.js +310 -274
  328. package/dist/Testing/components/testing-review.component.js.map +1 -1
  329. package/dist/Testing/components/testing-runs-resource.component.d.ts +2 -1
  330. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -1
  331. package/dist/Testing/components/testing-runs-resource.component.js +16 -19
  332. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -1
  333. package/dist/Testing/components/testing-runs.component.d.ts +3 -1
  334. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -1
  335. package/dist/Testing/components/testing-runs.component.js +307 -273
  336. package/dist/Testing/components/testing-runs.component.js.map +1 -1
  337. package/dist/Testing/testing-dashboard.component.d.ts +2 -0
  338. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  339. package/dist/Testing/testing-dashboard.component.js +114 -99
  340. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  341. package/dist/VersionHistory/components/diff-resource.component.js +185 -188
  342. package/dist/VersionHistory/components/diff-resource.component.js.map +1 -1
  343. package/dist/VersionHistory/components/graph-resource.component.js +154 -184
  344. package/dist/VersionHistory/components/graph-resource.component.js.map +1 -1
  345. package/dist/VersionHistory/components/labels-resource.component.d.ts +7 -0
  346. package/dist/VersionHistory/components/labels-resource.component.d.ts.map +1 -1
  347. package/dist/VersionHistory/components/labels-resource.component.js +350 -354
  348. package/dist/VersionHistory/components/labels-resource.component.js.map +1 -1
  349. package/dist/VersionHistory/components/restore-resource.component.js +163 -169
  350. package/dist/VersionHistory/components/restore-resource.component.js.map +1 -1
  351. package/dist/actions-dashboards.module.d.ts +15 -16
  352. package/dist/actions-dashboards.module.d.ts.map +1 -1
  353. package/dist/actions-dashboards.module.js +34 -11
  354. package/dist/actions-dashboards.module.js.map +1 -1
  355. package/dist/ai-dashboards.module.d.ts +45 -48
  356. package/dist/ai-dashboards.module.d.ts.map +1 -1
  357. package/dist/ai-dashboards.module.js +51 -10
  358. package/dist/ai-dashboards.module.js.map +1 -1
  359. package/dist/archiving-dashboards.module.d.ts +2 -1
  360. package/dist/archiving-dashboards.module.d.ts.map +1 -1
  361. package/dist/archiving-dashboards.module.js +12 -2
  362. package/dist/archiving-dashboards.module.js.map +1 -1
  363. package/dist/communication-dashboards.module.d.ts +9 -6
  364. package/dist/communication-dashboards.module.d.ts.map +1 -1
  365. package/dist/communication-dashboards.module.js +37 -7
  366. package/dist/communication-dashboards.module.js.map +1 -1
  367. package/dist/core-dashboards.module.d.ts +1 -1
  368. package/dist/core-dashboards.module.d.ts.map +1 -1
  369. package/dist/core-dashboards.module.js +46 -1
  370. package/dist/core-dashboards.module.js.map +1 -1
  371. package/dist/credentials-dashboards.module.d.ts +1 -1
  372. package/dist/credentials-dashboards.module.d.ts.map +1 -1
  373. package/dist/credentials-dashboards.module.js +28 -1
  374. package/dist/credentials-dashboards.module.js.map +1 -1
  375. package/dist/lists-dashboards.module.d.ts +10 -9
  376. package/dist/lists-dashboards.module.d.ts.map +1 -1
  377. package/dist/lists-dashboards.module.js +40 -2
  378. package/dist/lists-dashboards.module.js.map +1 -1
  379. package/dist/public-api.d.ts +3 -2
  380. package/dist/public-api.d.ts.map +1 -1
  381. package/dist/public-api.js +4 -3
  382. package/dist/public-api.js.map +1 -1
  383. package/dist/scheduling-dashboards.module.d.ts +1 -1
  384. package/dist/scheduling-dashboards.module.d.ts.map +1 -1
  385. package/dist/scheduling-dashboards.module.js +31 -1
  386. package/dist/scheduling-dashboards.module.js.map +1 -1
  387. package/dist/testing-dashboards.module.d.ts +8 -7
  388. package/dist/testing-dashboards.module.d.ts.map +1 -1
  389. package/dist/testing-dashboards.module.js +42 -0
  390. package/dist/testing-dashboards.module.js.map +1 -1
  391. package/package.json +53 -52
  392. package/dist/AI/components/agents/agent-filter-panel.component.d.ts +0 -56
  393. package/dist/AI/components/agents/agent-filter-panel.component.d.ts.map +0 -1
  394. package/dist/AI/components/agents/agent-filter-panel.component.js +0 -285
  395. package/dist/AI/components/agents/agent-filter-panel.component.js.map +0 -1
  396. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts +0 -49
  397. package/dist/AI/components/prompts/prompt-filter-panel.component.d.ts.map +0 -1
  398. package/dist/AI/components/prompts/prompt-filter-panel.component.js +0 -184
  399. package/dist/AI/components/prompts/prompt-filter-panel.component.js.map +0 -1
  400. package/dist/AI/components/system/system-config-filter-panel.component.d.ts +0 -33
  401. package/dist/AI/components/system/system-config-filter-panel.component.d.ts.map +0 -1
  402. package/dist/AI/components/system/system-config-filter-panel.component.js +0 -144
  403. package/dist/AI/components/system/system-config-filter-panel.component.js.map +0 -1
  404. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +0 -63
  405. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +0 -1
  406. package/dist/Actions/components/explorer/action-toolbar.component.js +0 -463
  407. package/dist/Actions/components/explorer/action-toolbar.component.js.map +0 -1
@@ -1,184 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- const _forTrack0 = ($index, $item) => $item.value;
5
- function PromptFilterPanelComponent_For_23_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelementStart(0, "option", 14);
7
- i0.ɵɵtext(1);
8
- i0.ɵɵelementEnd();
9
- } if (rf & 2) {
10
- const option_r1 = ctx.$implicit;
11
- i0.ɵɵproperty("value", option_r1.value);
12
- i0.ɵɵadvance();
13
- i0.ɵɵtextInterpolate(option_r1.text);
14
- } }
15
- function PromptFilterPanelComponent_For_30_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementStart(0, "option", 14);
17
- i0.ɵɵtext(1);
18
- i0.ɵɵelementEnd();
19
- } if (rf & 2) {
20
- const option_r2 = ctx.$implicit;
21
- i0.ɵɵproperty("value", option_r2.value);
22
- i0.ɵɵadvance();
23
- i0.ɵɵtextInterpolate(option_r2.text);
24
- } }
25
- function PromptFilterPanelComponent_For_37_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "option", 14);
27
- i0.ɵɵtext(1);
28
- i0.ɵɵelementEnd();
29
- } if (rf & 2) {
30
- const option_r3 = ctx.$implicit;
31
- i0.ɵɵproperty("value", option_r3.value);
32
- i0.ɵɵadvance();
33
- i0.ɵɵtextInterpolate(option_r3.text);
34
- } }
35
- export class PromptFilterPanelComponent {
36
- prompts = [];
37
- filteredPrompts = [];
38
- categories = [];
39
- types = [];
40
- filters = {
41
- searchTerm: '',
42
- categoryId: 'all',
43
- typeId: 'all',
44
- status: 'all'
45
- };
46
- filtersChange = new EventEmitter();
47
- filterChange = new EventEmitter();
48
- resetFilters = new EventEmitter();
49
- closePanel = new EventEmitter();
50
- categoryOptions = [];
51
- typeOptions = [];
52
- statusOptions = [
53
- { text: 'All Statuses', value: 'all' },
54
- { text: 'Active', value: 'Active' },
55
- { text: 'Pending', value: 'Pending' },
56
- { text: 'Disabled', value: 'Disabled' }
57
- ];
58
- ngOnInit() {
59
- this.buildFilterOptions();
60
- }
61
- buildFilterOptions() {
62
- this.categoryOptions = [
63
- { text: 'All Categories', value: 'all' },
64
- ...this.categories.map(cat => ({ text: cat.Name, value: cat.ID }))
65
- ];
66
- this.typeOptions = [
67
- { text: 'All Types', value: 'all' },
68
- ...this.types.map(type => ({ text: type.Name, value: type.ID }))
69
- ];
70
- }
71
- onFilterChange() {
72
- this.filtersChange.emit(this.filters);
73
- this.filterChange.emit();
74
- }
75
- resetAllFilters() {
76
- this.resetFilters.emit();
77
- }
78
- toggleFilterPanel() {
79
- this.closePanel.emit();
80
- }
81
- updateCategories(categories) {
82
- this.categories = categories;
83
- this.buildFilterOptions();
84
- }
85
- static ɵfac = function PromptFilterPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PromptFilterPanelComponent)(); };
86
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PromptFilterPanelComponent, selectors: [["mj-prompt-filter-panel"]], inputs: { prompts: "prompts", filteredPrompts: "filteredPrompts", categories: "categories", types: "types", filters: "filters" }, outputs: { filtersChange: "filtersChange", filterChange: "filterChange", resetFilters: "resetFilters", closePanel: "closePanel" }, standalone: false, decls: 42, vars: 6, consts: [[1, "filter-panel"], [1, "filter-panel-header"], [1, "filter-summary-inline"], [1, "summary-value"], [1, "summary-label"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "filter-content"], [1, "filter-group"], [1, "filter-label"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search prompts...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "fa-solid", "fa-folder"], [1, "filter-select", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "fa-solid", "fa-tag"], [1, "fa-solid", "fa-check-circle"], [1, "filter-actions"], ["title", "Reset all filters", 1, "reset-btn", 3, "click"], [1, "fa-solid", "fa-undo"]], template: function PromptFilterPanelComponent_Template(rf, ctx) { if (rf & 1) {
87
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h3");
88
- i0.ɵɵtext(3, "Prompt Filters");
89
- i0.ɵɵelementEnd();
90
- i0.ɵɵelementStart(4, "div", 2)(5, "span", 3);
91
- i0.ɵɵtext(6);
92
- i0.ɵɵelementEnd();
93
- i0.ɵɵelementStart(7, "span", 4);
94
- i0.ɵɵtext(8);
95
- i0.ɵɵelementEnd()();
96
- i0.ɵɵelementStart(9, "button", 5);
97
- i0.ɵɵlistener("click", function PromptFilterPanelComponent_Template_button_click_9_listener() { return ctx.toggleFilterPanel(); });
98
- i0.ɵɵelement(10, "span", 6);
99
- i0.ɵɵelementEnd()();
100
- i0.ɵɵelementStart(11, "div", 7)(12, "div", 8)(13, "label", 9);
101
- i0.ɵɵelement(14, "span", 10);
102
- i0.ɵɵtext(15, " Search ");
103
- i0.ɵɵelementEnd();
104
- i0.ɵɵelementStart(16, "input", 11);
105
- i0.ɵɵtwoWayListener("ngModelChange", function PromptFilterPanelComponent_Template_input_ngModelChange_16_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.searchTerm, $event) || (ctx.filters.searchTerm = $event); return $event; });
106
- i0.ɵɵlistener("ngModelChange", function PromptFilterPanelComponent_Template_input_ngModelChange_16_listener() { return ctx.onFilterChange(); })("input", function PromptFilterPanelComponent_Template_input_input_16_listener() { return ctx.onFilterChange(); });
107
- i0.ɵɵelementEnd()();
108
- i0.ɵɵelementStart(17, "div", 8)(18, "label", 9);
109
- i0.ɵɵelement(19, "span", 12);
110
- i0.ɵɵtext(20, " Category ");
111
- i0.ɵɵelementEnd();
112
- i0.ɵɵelementStart(21, "select", 13);
113
- i0.ɵɵtwoWayListener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_21_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.categoryId, $event) || (ctx.filters.categoryId = $event); return $event; });
114
- i0.ɵɵlistener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_21_listener() { return ctx.onFilterChange(); });
115
- i0.ɵɵrepeaterCreate(22, PromptFilterPanelComponent_For_23_Template, 2, 2, "option", 14, _forTrack0);
116
- i0.ɵɵelementEnd()();
117
- i0.ɵɵelementStart(24, "div", 8)(25, "label", 9);
118
- i0.ɵɵelement(26, "span", 15);
119
- i0.ɵɵtext(27, " Type ");
120
- i0.ɵɵelementEnd();
121
- i0.ɵɵelementStart(28, "select", 13);
122
- i0.ɵɵtwoWayListener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_28_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.typeId, $event) || (ctx.filters.typeId = $event); return $event; });
123
- i0.ɵɵlistener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_28_listener() { return ctx.onFilterChange(); });
124
- i0.ɵɵrepeaterCreate(29, PromptFilterPanelComponent_For_30_Template, 2, 2, "option", 14, _forTrack0);
125
- i0.ɵɵelementEnd()();
126
- i0.ɵɵelementStart(31, "div", 8)(32, "label", 9);
127
- i0.ɵɵelement(33, "span", 16);
128
- i0.ɵɵtext(34, " Status ");
129
- i0.ɵɵelementEnd();
130
- i0.ɵɵelementStart(35, "select", 13);
131
- i0.ɵɵtwoWayListener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_35_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.status, $event) || (ctx.filters.status = $event); return $event; });
132
- i0.ɵɵlistener("ngModelChange", function PromptFilterPanelComponent_Template_select_ngModelChange_35_listener() { return ctx.onFilterChange(); });
133
- i0.ɵɵrepeaterCreate(36, PromptFilterPanelComponent_For_37_Template, 2, 2, "option", 14, _forTrack0);
134
- i0.ɵɵelementEnd()();
135
- i0.ɵɵelementStart(38, "div", 17)(39, "button", 18);
136
- i0.ɵɵlistener("click", function PromptFilterPanelComponent_Template_button_click_39_listener() { return ctx.resetAllFilters(); });
137
- i0.ɵɵelement(40, "span", 19);
138
- i0.ɵɵtext(41, " Reset Filters ");
139
- i0.ɵɵelementEnd()()()();
140
- } if (rf & 2) {
141
- i0.ɵɵadvance(6);
142
- i0.ɵɵtextInterpolate(ctx.filteredPrompts.length);
143
- i0.ɵɵadvance(2);
144
- i0.ɵɵtextInterpolate1("of ", ctx.prompts.length);
145
- i0.ɵɵadvance(8);
146
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.searchTerm);
147
- i0.ɵɵadvance(5);
148
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.categoryId);
149
- i0.ɵɵadvance();
150
- i0.ɵɵrepeater(ctx.categoryOptions);
151
- i0.ɵɵadvance(6);
152
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.typeId);
153
- i0.ɵɵadvance();
154
- i0.ɵɵrepeater(ctx.typeOptions);
155
- i0.ɵɵadvance(6);
156
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.status);
157
- i0.ɵɵadvance();
158
- i0.ɵɵrepeater(ctx.statusOptions);
159
- } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel], styles: ["\n\n\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.filter-panel-header[_ngcontent-%COMP%] {\n padding: 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n flex: 1;\n letter-spacing: -0.02em;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 16px;\n font-size: 13px;\n padding: 6px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n border-radius: 20px;\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] .summary-value[_ngcontent-%COMP%] {\n font-weight: 700;\n color: var(--mj-brand-primary);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] .summary-label[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary-hover);\n font-weight: 500;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n border-radius: 8px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 20px;\n}\n\n\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 10px;\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.75px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-label[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-brand-primary);\n width: 16px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%], \n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n color: var(--mj-text-secondary);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus, \n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%] {\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 14px center;\n padding-right: 36px;\n}\n\n\n\n.filter-actions[_ngcontent-%COMP%] {\n margin-top: 28px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 13px;\n}\n\n\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}"] });
160
- }
161
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PromptFilterPanelComponent, [{
162
- type: Component,
163
- args: [{ standalone: false, selector: 'mj-prompt-filter-panel', template: "<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Prompt Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredPrompts.length }}</span>\n <span class=\"summary-label\">of {{ prompts.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Search\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.searchTerm\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search prompts...\">\n </div>\n \n <!-- Category Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-folder\"></span>\n Category\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.categoryId\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of categoryOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Type Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-tag\"></span>\n Type\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.typeId\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of typeOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-check-circle\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of statusOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>", styles: ["/* Prompt Filter Panel - World-Class Design */\n\n.filter-panel {\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Header */\n.filter-panel-header {\n padding: 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.filter-panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n flex: 1;\n letter-spacing: -0.02em;\n}\n\n.filter-panel-header .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 16px;\n font-size: 13px;\n padding: 6px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n border-radius: 20px;\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n}\n\n.filter-panel-header .filter-summary-inline .summary-value {\n font-weight: 700;\n color: var(--mj-brand-primary);\n}\n\n.filter-panel-header .filter-summary-inline .summary-label {\n color: var(--mj-brand-primary-hover);\n font-weight: 500;\n}\n\n.filter-panel-header .close-btn {\n background: transparent;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n border-radius: 8px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.filter-panel-header .close-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.filter-panel-header .close-btn .fa-solid {\n font-size: 14px;\n}\n\n/* Content Area */\n.filter-content {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 20px;\n}\n\n/* Filter Groups */\n.filter-group {\n margin-bottom: 24px;\n}\n\n.filter-group .filter-label {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 10px;\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.75px;\n}\n\n.filter-group .filter-label .fa-solid {\n font-size: 13px;\n color: var(--mj-brand-primary);\n width: 16px;\n}\n\n.filter-group .filter-input,\n.filter-group .filter-select {\n width: 100%;\n padding: 12px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n color: var(--mj-text-secondary);\n}\n\n.filter-group .filter-input:focus,\n.filter-group .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-group .filter-input::placeholder {\n color: var(--mj-text-disabled);\n}\n\n.filter-group .filter-select {\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 14px center;\n padding-right: 36px;\n}\n\n/* Filter Actions */\n.filter-actions {\n margin-top: 28px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.filter-actions .reset-btn {\n width: 100%;\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n}\n\n.filter-actions .reset-btn:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.filter-actions .reset-btn .fa-solid {\n font-size: 13px;\n}\n\n/* Scrollbar Styling */\n.filter-content::-webkit-scrollbar {\n width: 6px;\n}\n\n.filter-content::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.filter-content::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.filter-content::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n"] }]
164
- }], null, { prompts: [{
165
- type: Input
166
- }], filteredPrompts: [{
167
- type: Input
168
- }], categories: [{
169
- type: Input
170
- }], types: [{
171
- type: Input
172
- }], filters: [{
173
- type: Input
174
- }], filtersChange: [{
175
- type: Output
176
- }], filterChange: [{
177
- type: Output
178
- }], resetFilters: [{
179
- type: Output
180
- }], closePanel: [{
181
- type: Output
182
- }] }); })();
183
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PromptFilterPanelComponent, { className: "PromptFilterPanelComponent", filePath: "src/AI/components/prompts/prompt-filter-panel.component.ts", lineNumber: 25 }); })();
184
- //# sourceMappingURL=prompt-filter-panel.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prompt-filter-panel.component.js","sourceRoot":"","sources":["../../../../src/AI/components/prompts/prompt-filter-panel.component.ts","../../../../src/AI/components/prompts/prompt-filter-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { MJAIPromptCategoryEntity, MJAIPromptTypeEntity } from '@memberjunction/core-entities';\n\ninterface PromptFilter {\n searchTerm: string;\n categoryId: string;\n typeId: string;\n status: string;\n}\n\ninterface PromptWithTemplate {\n prompt: any;\n template: any;\n templateContent: any;\n category: any;\n type: any;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-prompt-filter-panel',\n templateUrl: './prompt-filter-panel.component.html',\n styleUrls: ['./prompt-filter-panel.component.css']\n})\nexport class PromptFilterPanelComponent implements OnInit {\n @Input() prompts: PromptWithTemplate[] = [];\n @Input() filteredPrompts: PromptWithTemplate[] = [];\n @Input() categories: MJAIPromptCategoryEntity[] = [];\n @Input() types: MJAIPromptTypeEntity[] = [];\n @Input() filters: PromptFilter = {\n searchTerm: '',\n categoryId: 'all',\n typeId: 'all',\n status: 'all'\n };\n\n @Output() filtersChange = new EventEmitter<PromptFilter>();\n @Output() filterChange = new EventEmitter<void>();\n @Output() resetFilters = new EventEmitter<void>();\n @Output() closePanel = new EventEmitter<void>();\n\n public categoryOptions: Array<{text: string; value: string}> = [];\n public typeOptions: Array<{text: string; value: string}> = [];\n public statusOptions = [\n { text: 'All Statuses', value: 'all' },\n { text: 'Active', value: 'Active' },\n { text: 'Pending', value: 'Pending' },\n { text: 'Disabled', value: 'Disabled' }\n ];\n\n ngOnInit(): void {\n this.buildFilterOptions();\n }\n\n private buildFilterOptions(): void {\n this.categoryOptions = [\n { text: 'All Categories', value: 'all' },\n ...this.categories.map(cat => ({ text: cat.Name, value: cat.ID }))\n ];\n\n this.typeOptions = [\n { text: 'All Types', value: 'all' },\n ...this.types.map(type => ({ text: type.Name, value: type.ID }))\n ];\n }\n\n public onFilterChange(): void {\n this.filtersChange.emit(this.filters);\n this.filterChange.emit();\n }\n\n public resetAllFilters(): void {\n this.resetFilters.emit();\n }\n\n public toggleFilterPanel(): void {\n this.closePanel.emit();\n }\n\n public updateCategories(categories: MJAIPromptCategoryEntity[]): void {\n this.categories = categories;\n this.buildFilterOptions();\n }\n}","<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Prompt Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredPrompts.length }}</span>\n <span class=\"summary-label\">of {{ prompts.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Search\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.searchTerm\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search prompts...\">\n </div>\n \n <!-- Category Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-folder\"></span>\n Category\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.categoryId\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of categoryOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Type Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-tag\"></span>\n Type\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.typeId\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of typeOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-check-circle\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of statusOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>"]}
@@ -1,33 +0,0 @@
1
- import { EventEmitter, OnInit } from '@angular/core';
2
- import { MJAIConfigurationEntity } from '@memberjunction/core-entities';
3
- import * as i0 from "@angular/core";
4
- interface SystemConfigFilter {
5
- searchTerm: string;
6
- status: string;
7
- isDefault: string;
8
- }
9
- export declare class SystemConfigFilterPanelComponent implements OnInit {
10
- configurations: MJAIConfigurationEntity[];
11
- filteredConfigurations: MJAIConfigurationEntity[];
12
- filters: SystemConfigFilter;
13
- filtersChange: EventEmitter<SystemConfigFilter>;
14
- filterChange: EventEmitter<void>;
15
- resetFilters: EventEmitter<void>;
16
- closePanel: EventEmitter<void>;
17
- statusOptions: {
18
- text: string;
19
- value: string;
20
- }[];
21
- isDefaultOptions: {
22
- text: string;
23
- value: string;
24
- }[];
25
- ngOnInit(): void;
26
- onFilterChange(): void;
27
- resetAllFilters(): void;
28
- toggleFilterPanel(): void;
29
- static ɵfac: i0.ɵɵFactoryDeclaration<SystemConfigFilterPanelComponent, never>;
30
- static ɵcmp: i0.ɵɵComponentDeclaration<SystemConfigFilterPanelComponent, "mj-system-config-filter-panel", never, { "configurations": { "alias": "configurations"; "required": false; }; "filteredConfigurations": { "alias": "filteredConfigurations"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, { "filtersChange": "filtersChange"; "filterChange": "filterChange"; "resetFilters": "resetFilters"; "closePanel": "closePanel"; }, never, never, false, never>;
31
- }
32
- export {};
33
- //# sourceMappingURL=system-config-filter-panel.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-config-filter-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/AI/components/system/system-config-filter-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;;AAExE,UAAU,kBAAkB;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAMa,gCAAiC,YAAW,MAAM;IACpD,cAAc,EAAE,uBAAuB,EAAE,CAAM;IAC/C,sBAAsB,EAAE,uBAAuB,EAAE,CAAM;IACvD,OAAO,EAAE,kBAAkB,CAIlC;IAEQ,aAAa,mCAA0C;IACvD,YAAY,qBAA4B;IACxC,YAAY,qBAA4B;IACxC,UAAU,qBAA4B;IAEzC,aAAa;;;QAMlB;IAEK,gBAAgB;;;QAIrB;IAEF,QAAQ,IAAI,IAAI;IAIT,cAAc,IAAI,IAAI;IAKtB,eAAe,IAAI,IAAI;IAIvB,iBAAiB,IAAI,IAAI;yCAzCrB,gCAAgC;2CAAhC,gCAAgC;CA4C5C"}
@@ -1,144 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- import * as i1 from "@angular/forms";
4
- const _forTrack0 = ($index, $item) => $item.value;
5
- function SystemConfigFilterPanelComponent_For_23_Template(rf, ctx) { if (rf & 1) {
6
- i0.ɵɵelementStart(0, "option", 14);
7
- i0.ɵɵtext(1);
8
- i0.ɵɵelementEnd();
9
- } if (rf & 2) {
10
- const option_r1 = ctx.$implicit;
11
- i0.ɵɵproperty("value", option_r1.value);
12
- i0.ɵɵadvance();
13
- i0.ɵɵtextInterpolate(option_r1.text);
14
- } }
15
- function SystemConfigFilterPanelComponent_For_30_Template(rf, ctx) { if (rf & 1) {
16
- i0.ɵɵelementStart(0, "option", 14);
17
- i0.ɵɵtext(1);
18
- i0.ɵɵelementEnd();
19
- } if (rf & 2) {
20
- const option_r2 = ctx.$implicit;
21
- i0.ɵɵproperty("value", option_r2.value);
22
- i0.ɵɵadvance();
23
- i0.ɵɵtextInterpolate(option_r2.text);
24
- } }
25
- export class SystemConfigFilterPanelComponent {
26
- configurations = [];
27
- filteredConfigurations = [];
28
- filters = {
29
- searchTerm: '',
30
- status: 'all',
31
- isDefault: 'all'
32
- };
33
- filtersChange = new EventEmitter();
34
- filterChange = new EventEmitter();
35
- resetFilters = new EventEmitter();
36
- closePanel = new EventEmitter();
37
- statusOptions = [
38
- { text: 'All Statuses', value: 'all' },
39
- { text: 'Active', value: 'Active' },
40
- { text: 'Inactive', value: 'Inactive' },
41
- { text: 'Deprecated', value: 'Deprecated' },
42
- { text: 'Preview', value: 'Preview' }
43
- ];
44
- isDefaultOptions = [
45
- { text: 'All Configurations', value: 'all' },
46
- { text: 'Default Only', value: 'true' },
47
- { text: 'Non-Default Only', value: 'false' }
48
- ];
49
- ngOnInit() {
50
- // Initialize component
51
- }
52
- onFilterChange() {
53
- this.filtersChange.emit(this.filters);
54
- this.filterChange.emit();
55
- }
56
- resetAllFilters() {
57
- this.resetFilters.emit();
58
- }
59
- toggleFilterPanel() {
60
- this.closePanel.emit();
61
- }
62
- static ɵfac = function SystemConfigFilterPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || SystemConfigFilterPanelComponent)(); };
63
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SystemConfigFilterPanelComponent, selectors: [["mj-system-config-filter-panel"]], inputs: { configurations: "configurations", filteredConfigurations: "filteredConfigurations", filters: "filters" }, outputs: { filtersChange: "filtersChange", filterChange: "filterChange", resetFilters: "resetFilters", closePanel: "closePanel" }, standalone: false, decls: 35, vars: 5, consts: [[1, "filter-panel"], [1, "filter-panel-header"], [1, "filter-summary-inline"], [1, "summary-value"], [1, "summary-label"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-times"], [1, "filter-content"], [1, "filter-group"], [1, "filter-label"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search configurations...", 1, "filter-input", 3, "ngModelChange", "input", "ngModel"], [1, "fa-solid", "fa-check-circle"], [1, "filter-select", 3, "ngModelChange", "ngModel"], [3, "value"], [1, "fa-solid", "fa-star"], [1, "filter-actions"], ["title", "Reset all filters", 1, "reset-btn", 3, "click"], [1, "fa-solid", "fa-undo"]], template: function SystemConfigFilterPanelComponent_Template(rf, ctx) { if (rf & 1) {
64
- i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h3");
65
- i0.ɵɵtext(3, "Configuration Filters");
66
- i0.ɵɵelementEnd();
67
- i0.ɵɵelementStart(4, "div", 2)(5, "span", 3);
68
- i0.ɵɵtext(6);
69
- i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(7, "span", 4);
71
- i0.ɵɵtext(8);
72
- i0.ɵɵelementEnd()();
73
- i0.ɵɵelementStart(9, "button", 5);
74
- i0.ɵɵlistener("click", function SystemConfigFilterPanelComponent_Template_button_click_9_listener() { return ctx.toggleFilterPanel(); });
75
- i0.ɵɵelement(10, "span", 6);
76
- i0.ɵɵelementEnd()();
77
- i0.ɵɵelementStart(11, "div", 7)(12, "div", 8)(13, "label", 9);
78
- i0.ɵɵelement(14, "span", 10);
79
- i0.ɵɵtext(15, " Search ");
80
- i0.ɵɵelementEnd();
81
- i0.ɵɵelementStart(16, "input", 11);
82
- i0.ɵɵtwoWayListener("ngModelChange", function SystemConfigFilterPanelComponent_Template_input_ngModelChange_16_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.searchTerm, $event) || (ctx.filters.searchTerm = $event); return $event; });
83
- i0.ɵɵlistener("ngModelChange", function SystemConfigFilterPanelComponent_Template_input_ngModelChange_16_listener() { return ctx.onFilterChange(); })("input", function SystemConfigFilterPanelComponent_Template_input_input_16_listener() { return ctx.onFilterChange(); });
84
- i0.ɵɵelementEnd()();
85
- i0.ɵɵelementStart(17, "div", 8)(18, "label", 9);
86
- i0.ɵɵelement(19, "span", 12);
87
- i0.ɵɵtext(20, " Status ");
88
- i0.ɵɵelementEnd();
89
- i0.ɵɵelementStart(21, "select", 13);
90
- i0.ɵɵtwoWayListener("ngModelChange", function SystemConfigFilterPanelComponent_Template_select_ngModelChange_21_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.status, $event) || (ctx.filters.status = $event); return $event; });
91
- i0.ɵɵlistener("ngModelChange", function SystemConfigFilterPanelComponent_Template_select_ngModelChange_21_listener() { return ctx.onFilterChange(); });
92
- i0.ɵɵrepeaterCreate(22, SystemConfigFilterPanelComponent_For_23_Template, 2, 2, "option", 14, _forTrack0);
93
- i0.ɵɵelementEnd()();
94
- i0.ɵɵelementStart(24, "div", 8)(25, "label", 9);
95
- i0.ɵɵelement(26, "span", 15);
96
- i0.ɵɵtext(27, " Default ");
97
- i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(28, "select", 13);
99
- i0.ɵɵtwoWayListener("ngModelChange", function SystemConfigFilterPanelComponent_Template_select_ngModelChange_28_listener($event) { i0.ɵɵtwoWayBindingSet(ctx.filters.isDefault, $event) || (ctx.filters.isDefault = $event); return $event; });
100
- i0.ɵɵlistener("ngModelChange", function SystemConfigFilterPanelComponent_Template_select_ngModelChange_28_listener() { return ctx.onFilterChange(); });
101
- i0.ɵɵrepeaterCreate(29, SystemConfigFilterPanelComponent_For_30_Template, 2, 2, "option", 14, _forTrack0);
102
- i0.ɵɵelementEnd()();
103
- i0.ɵɵelementStart(31, "div", 16)(32, "button", 17);
104
- i0.ɵɵlistener("click", function SystemConfigFilterPanelComponent_Template_button_click_32_listener() { return ctx.resetAllFilters(); });
105
- i0.ɵɵelement(33, "span", 18);
106
- i0.ɵɵtext(34, " Reset Filters ");
107
- i0.ɵɵelementEnd()()()();
108
- } if (rf & 2) {
109
- i0.ɵɵadvance(6);
110
- i0.ɵɵtextInterpolate(ctx.filteredConfigurations.length);
111
- i0.ɵɵadvance(2);
112
- i0.ɵɵtextInterpolate1("of ", ctx.configurations.length);
113
- i0.ɵɵadvance(8);
114
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.searchTerm);
115
- i0.ɵɵadvance(5);
116
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.status);
117
- i0.ɵɵadvance();
118
- i0.ɵɵrepeater(ctx.statusOptions);
119
- i0.ɵɵadvance(6);
120
- i0.ɵɵtwoWayProperty("ngModel", ctx.filters.isDefault);
121
- i0.ɵɵadvance();
122
- i0.ɵɵrepeater(ctx.isDefaultOptions);
123
- } }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.DefaultValueAccessor, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel], styles: ["\n\n\n.filter-panel[_ngcontent-%COMP%] {\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.filter-panel-header[_ngcontent-%COMP%] {\n padding: 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n flex: 1;\n letter-spacing: -0.02em;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 16px;\n font-size: 13px;\n padding: 6px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n border-radius: 20px;\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] .summary-value[_ngcontent-%COMP%] {\n font-weight: 700;\n color: var(--mj-brand-primary);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .filter-summary-inline[_ngcontent-%COMP%] .summary-label[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary-hover);\n font-weight: 500;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] {\n background: transparent;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n border-radius: 8px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.filter-panel-header[_ngcontent-%COMP%] .close-btn[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n.filter-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 20px;\n}\n\n\n\n.filter-group[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 10px;\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.75px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-label[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-brand-primary);\n width: 16px;\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%], \n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n color: var(--mj-text-secondary);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]:focus, \n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-input[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-disabled);\n}\n\n.filter-group[_ngcontent-%COMP%] .filter-select[_ngcontent-%COMP%] {\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 14px center;\n padding-right: 36px;\n}\n\n\n\n.filter-actions[_ngcontent-%COMP%] {\n margin-top: 28px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%] {\n width: 100%;\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.filter-actions[_ngcontent-%COMP%] .reset-btn[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%] {\n font-size: 13px;\n}\n\n\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.filter-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}"] });
124
- }
125
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SystemConfigFilterPanelComponent, [{
126
- type: Component,
127
- args: [{ standalone: false, selector: 'mj-system-config-filter-panel', template: "<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Configuration Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredConfigurations.length }}</span>\n <span class=\"summary-label\">of {{ configurations.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Search\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.searchTerm\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search configurations...\">\n </div>\n \n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-check-circle\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of statusOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Default Configuration Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-star\"></span>\n Default\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.isDefault\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of isDefaultOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>", styles: ["/* System Configuration Filter Panel - World-Class Design */\n\n.filter-panel {\n height: 100%;\n background: var(--mj-bg-surface);\n border-right: 1px solid var(--mj-border-default);\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Header */\n.filter-panel-header {\n padding: 20px;\n border-bottom: 1px solid var(--mj-bg-surface-sunken);\n display: flex;\n align-items: center;\n justify-content: space-between;\n flex-shrink: 0;\n background: var(--mj-bg-surface-card);\n}\n\n.filter-panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 700;\n color: var(--mj-text-primary);\n flex: 1;\n letter-spacing: -0.02em;\n}\n\n.filter-panel-header .filter-summary-inline {\n display: flex;\n align-items: baseline;\n gap: 4px;\n margin-right: 16px;\n font-size: 13px;\n padding: 6px 12px;\n background: color-mix(in srgb, var(--mj-brand-primary) 12%, var(--mj-bg-surface));\n border-radius: 20px;\n border: 1px solid color-mix(in srgb, var(--mj-brand-primary) 30%, var(--mj-bg-surface));\n}\n\n.filter-panel-header .filter-summary-inline .summary-value {\n font-weight: 700;\n color: var(--mj-brand-primary);\n}\n\n.filter-panel-header .filter-summary-inline .summary-label {\n color: var(--mj-brand-primary-hover);\n font-weight: 500;\n}\n\n.filter-panel-header .close-btn {\n background: transparent;\n border: none;\n padding: 8px;\n cursor: pointer;\n color: var(--mj-text-disabled);\n border-radius: 8px;\n transition: all 0.2s ease;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.filter-panel-header .close-btn:hover {\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n}\n\n.filter-panel-header .close-btn .fa-solid {\n font-size: 14px;\n}\n\n/* Content Area */\n.filter-content {\n flex: 1;\n overflow-y: auto;\n overflow-x: hidden;\n padding: 20px;\n}\n\n/* Filter Groups */\n.filter-group {\n margin-bottom: 24px;\n}\n\n.filter-group .filter-label {\n display: flex;\n align-items: center;\n gap: 10px;\n margin-bottom: 10px;\n font-size: 12px;\n font-weight: 700;\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.75px;\n}\n\n.filter-group .filter-label .fa-solid {\n font-size: 13px;\n color: var(--mj-brand-primary);\n width: 16px;\n}\n\n.filter-group .filter-input,\n.filter-group .filter-select {\n width: 100%;\n padding: 12px 14px;\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n font-size: 14px;\n background: var(--mj-bg-surface);\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n color: var(--mj-text-secondary);\n}\n\n.filter-group .filter-input:focus,\n.filter-group .filter-select:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 15%, transparent);\n}\n\n.filter-group .filter-input::placeholder {\n color: var(--mj-text-disabled);\n}\n\n.filter-group .filter-select {\n cursor: pointer;\n appearance: none;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M2.5 4.5L6 8l3.5-3.5'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: right 14px center;\n padding-right: 36px;\n}\n\n/* Filter Actions */\n.filter-actions {\n margin-top: 28px;\n padding-top: 20px;\n border-top: 1px solid var(--mj-bg-surface-sunken);\n}\n\n.filter-actions .reset-btn {\n width: 100%;\n padding: 12px 16px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 10px;\n color: var(--mj-text-muted);\n font-size: 14px;\n font-weight: 600;\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 10px;\n transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n box-sizing: border-box;\n}\n\n.filter-actions .reset-btn:hover {\n background: var(--mj-bg-surface-sunken);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n}\n\n.filter-actions .reset-btn .fa-solid {\n font-size: 13px;\n}\n\n/* Scrollbar Styling */\n.filter-content::-webkit-scrollbar {\n width: 6px;\n}\n\n.filter-content::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.filter-content::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.filter-content::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-disabled);\n}\n"] }]
128
- }], null, { configurations: [{
129
- type: Input
130
- }], filteredConfigurations: [{
131
- type: Input
132
- }], filters: [{
133
- type: Input
134
- }], filtersChange: [{
135
- type: Output
136
- }], filterChange: [{
137
- type: Output
138
- }], resetFilters: [{
139
- type: Output
140
- }], closePanel: [{
141
- type: Output
142
- }] }); })();
143
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SystemConfigFilterPanelComponent, { className: "SystemConfigFilterPanelComponent", filePath: "src/AI/components/system/system-config-filter-panel.component.ts", lineNumber: 16 }); })();
144
- //# sourceMappingURL=system-config-filter-panel.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"system-config-filter-panel.component.js","sourceRoot":"","sources":["../../../../src/AI/components/system/system-config-filter-panel.component.ts","../../../../src/AI/components/system/system-config-filter-panel.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { MJAIConfigurationEntity } from '@memberjunction/core-entities';\n\ninterface SystemConfigFilter {\n searchTerm: string;\n status: string;\n isDefault: string;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-system-config-filter-panel',\n templateUrl: './system-config-filter-panel.component.html',\n styleUrls: ['./system-config-filter-panel.component.css']\n})\nexport class SystemConfigFilterPanelComponent implements OnInit {\n @Input() configurations: MJAIConfigurationEntity[] = [];\n @Input() filteredConfigurations: MJAIConfigurationEntity[] = [];\n @Input() filters: SystemConfigFilter = {\n searchTerm: '',\n status: 'all',\n isDefault: 'all'\n };\n\n @Output() filtersChange = new EventEmitter<SystemConfigFilter>();\n @Output() filterChange = new EventEmitter<void>();\n @Output() resetFilters = new EventEmitter<void>();\n @Output() closePanel = new EventEmitter<void>();\n\n public statusOptions = [\n { text: 'All Statuses', value: 'all' },\n { text: 'Active', value: 'Active' },\n { text: 'Inactive', value: 'Inactive' },\n { text: 'Deprecated', value: 'Deprecated' },\n { text: 'Preview', value: 'Preview' }\n ];\n\n public isDefaultOptions = [\n { text: 'All Configurations', value: 'all' },\n { text: 'Default Only', value: 'true' },\n { text: 'Non-Default Only', value: 'false' }\n ];\n\n ngOnInit(): void {\n // Initialize component\n }\n\n public onFilterChange(): void {\n this.filtersChange.emit(this.filters);\n this.filterChange.emit();\n }\n\n public resetAllFilters(): void {\n this.resetFilters.emit();\n }\n\n public toggleFilterPanel(): void {\n this.closePanel.emit();\n }\n}","<div class=\"filter-panel\">\n <div class=\"filter-panel-header\">\n <h3>Configuration Filters</h3>\n <div class=\"filter-summary-inline\">\n <span class=\"summary-value\">{{ filteredConfigurations.length }}</span>\n <span class=\"summary-label\">of {{ configurations.length }}</span>\n </div>\n <button class=\"close-btn\" (click)=\"toggleFilterPanel()\">\n <span class=\"fa-solid fa-times\"></span>\n </button>\n </div>\n \n <div class=\"filter-content\">\n <!-- Search Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-search\"></span>\n Search\n </label>\n <input \n type=\"text\"\n class=\"filter-input\"\n [(ngModel)]=\"filters.searchTerm\"\n (ngModelChange)=\"onFilterChange()\"\n (input)=\"onFilterChange()\"\n placeholder=\"Search configurations...\">\n </div>\n \n <!-- Status Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-check-circle\"></span>\n Status\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of statusOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Default Configuration Filter -->\n <div class=\"filter-group\">\n <label class=\"filter-label\">\n <span class=\"fa-solid fa-star\"></span>\n Default\n </label>\n <select \n class=\"filter-select\"\n [(ngModel)]=\"filters.isDefault\"\n (ngModelChange)=\"onFilterChange()\">\n @for (option of isDefaultOptions; track option.value) {\n <option [value]=\"option.value\">{{ option.text }}</option>\n }\n </select>\n </div>\n \n <!-- Reset Button -->\n <div class=\"filter-actions\">\n <button class=\"reset-btn\" (click)=\"resetAllFilters()\" title=\"Reset all filters\">\n <span class=\"fa-solid fa-undo\"></span>\n Reset Filters\n </button>\n </div>\n </div>\n</div>"]}
@@ -1,63 +0,0 @@
1
- import { EventEmitter, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
2
- import { ActionExplorerStateService, ActionViewMode, SortField, SortDirection, ActionFilters } from '../../services/action-explorer-state.service';
3
- import * as i0 from "@angular/core";
4
- interface SortOption {
5
- field: SortField;
6
- label: string;
7
- icon: string;
8
- }
9
- export declare class ActionToolbarComponent implements OnInit, OnDestroy {
10
- StateService: ActionExplorerStateService;
11
- private cdr;
12
- TotalCount: number;
13
- FilteredCount: number;
14
- NewActionClick: EventEmitter<void>;
15
- RefreshClick: EventEmitter<void>;
16
- ViewMode: ActionViewMode;
17
- SortField: SortField;
18
- SortDirection: SortDirection;
19
- Filters: ActionFilters;
20
- ShowFiltersDropdown: boolean;
21
- ShowSortDropdown: boolean;
22
- SortOptions: SortOption[];
23
- StatusOptions: {
24
- value: string;
25
- label: string;
26
- color: string;
27
- }[];
28
- TypeOptions: {
29
- value: string;
30
- label: string;
31
- icon: string;
32
- }[];
33
- private destroy$;
34
- private searchInput$;
35
- constructor(StateService: ActionExplorerStateService, cdr: ChangeDetectorRef);
36
- ngOnInit(): void;
37
- ngOnDestroy(): void;
38
- private subscribeToState;
39
- private setupSearchDebounce;
40
- onSearchInput(term: string): void;
41
- clearSearch(): void;
42
- setViewMode(mode: ActionViewMode): void;
43
- setSortField(field: SortField): void;
44
- toggleSortDirection(): void;
45
- toggleStatus(status: string): void;
46
- toggleType(type: string): void;
47
- isStatusSelected(status: string): boolean;
48
- isTypeSelected(type: string): boolean;
49
- clearFilters(): void;
50
- hasActiveFilters(): boolean;
51
- getActiveFilterCount(): number;
52
- toggleFiltersDropdown(): void;
53
- toggleSortDropdown(): void;
54
- closeDropdowns(): void;
55
- getSortLabel(): string;
56
- getSortIcon(): string;
57
- onNewAction(): void;
58
- onRefresh(): void;
59
- static ɵfac: i0.ɵɵFactoryDeclaration<ActionToolbarComponent, never>;
60
- static ɵcmp: i0.ɵɵComponentDeclaration<ActionToolbarComponent, "mj-action-toolbar", never, { "TotalCount": { "alias": "TotalCount"; "required": false; }; "FilteredCount": { "alias": "FilteredCount"; "required": false; }; }, { "NewActionClick": "NewActionClick"; "RefreshClick": "RefreshClick"; }, never, never, false, never>;
61
- }
62
- export {};
63
- //# sourceMappingURL=action-toolbar.component.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-toolbar.component.d.ts","sourceRoot":"","sources":["../../../../src/Actions/components/explorer/action-toolbar.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,MAAM,EACN,SAAS,EAET,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAGvB,OAAO,EACL,0BAA0B,EAC1B,cAAc,EACd,SAAS,EACT,aAAa,EACb,aAAa,EACd,MAAM,8CAA8C,CAAC;;AAEtD,UAAU,UAAU;IAClB,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qBAOa,sBAAuB,YAAW,MAAM,EAAE,SAAS;IA2CrD,YAAY,EAAE,0BAA0B;IAC/C,OAAO,CAAC,GAAG;IA3CJ,UAAU,SAAK;IACf,aAAa,SAAK;IACjB,cAAc,qBAA4B;IAC1C,YAAY,qBAA4B;IAE3C,QAAQ,EAAE,cAAc,CAAU;IAClC,SAAS,EAAE,SAAS,CAAU;IAC9B,aAAa,EAAE,aAAa,CAAS;IACrC,OAAO,EAAE,aAAa,CAM3B;IAEK,mBAAmB,UAAS;IAC5B,gBAAgB,UAAS;IAEzB,WAAW,EAAE,UAAU,EAAE,CAM9B;IAEK,aAAa;;;;QAIlB;IAEK,WAAW;;;;QAGhB;IAEF,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,YAAY,CAAyB;gBAGpC,YAAY,EAAE,0BAA0B,EACvC,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAKhB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,gBAAgB;IAkBxB,OAAO,CAAC,mBAAmB;IAUpB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjC,WAAW,IAAI,IAAI;IAInB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAIvC,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKpC,mBAAmB,IAAI,IAAI;IAI3B,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAWlC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAW9B,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIrC,YAAY,IAAI,IAAI;IAIpB,gBAAgB,IAAI,OAAO;IAI3B,oBAAoB,IAAI,MAAM;IAU9B,qBAAqB,IAAI,IAAI;IAO7B,kBAAkB,IAAI,IAAI;IAO1B,cAAc,IAAI,IAAI;IAKtB,YAAY,IAAI,MAAM;IAKtB,WAAW,IAAI,MAAM;IAIrB,WAAW,IAAI,IAAI;IAInB,SAAS,IAAI,IAAI;yCA1Lb,sBAAsB;2CAAtB,sBAAsB;CA6LlC"}