@memberjunction/ng-dashboards 3.2.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 (402) 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 +169 -0
  14. package/dist/APIKeys/api-applications-panel.component.d.ts.map +1 -0
  15. package/dist/APIKeys/api-applications-panel.component.js +1058 -0
  16. package/dist/APIKeys/api-applications-panel.component.js.map +1 -0
  17. package/dist/APIKeys/api-key-create-dialog.component.d.ts +125 -0
  18. package/dist/APIKeys/api-key-create-dialog.component.d.ts.map +1 -0
  19. package/dist/APIKeys/api-key-create-dialog.component.js +768 -0
  20. package/dist/APIKeys/api-key-create-dialog.component.js.map +1 -0
  21. package/dist/APIKeys/api-key-edit-panel.component.d.ts +149 -0
  22. package/dist/APIKeys/api-key-edit-panel.component.d.ts.map +1 -0
  23. package/dist/APIKeys/api-key-edit-panel.component.js +1074 -0
  24. package/dist/APIKeys/api-key-edit-panel.component.js.map +1 -0
  25. package/dist/APIKeys/api-key-list.component.d.ts +131 -0
  26. package/dist/APIKeys/api-key-list.component.d.ts.map +1 -0
  27. package/dist/APIKeys/api-key-list.component.js +818 -0
  28. package/dist/APIKeys/api-key-list.component.js.map +1 -0
  29. package/dist/APIKeys/api-keys-resource.component.d.ts +211 -0
  30. package/dist/APIKeys/api-keys-resource.component.d.ts.map +1 -0
  31. package/dist/APIKeys/api-keys-resource.component.js +1150 -0
  32. package/dist/APIKeys/api-keys-resource.component.js.map +1 -0
  33. package/dist/APIKeys/api-scopes-panel.component.d.ts +98 -0
  34. package/dist/APIKeys/api-scopes-panel.component.d.ts.map +1 -0
  35. package/dist/APIKeys/api-scopes-panel.component.js +652 -0
  36. package/dist/APIKeys/api-scopes-panel.component.js.map +1 -0
  37. package/dist/APIKeys/api-usage-panel.component.d.ts +174 -0
  38. package/dist/APIKeys/api-usage-panel.component.d.ts.map +1 -0
  39. package/dist/APIKeys/api-usage-panel.component.js +1013 -0
  40. package/dist/APIKeys/api-usage-panel.component.js.map +1 -0
  41. package/dist/APIKeys/index.d.ts +7 -0
  42. package/dist/APIKeys/index.d.ts.map +1 -0
  43. package/dist/APIKeys/index.js +8 -0
  44. package/dist/APIKeys/index.js.map +1 -0
  45. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts +22 -0
  46. package/dist/Actions/components/explorer/action-breadcrumb.component.d.ts.map +1 -0
  47. package/dist/Actions/components/explorer/action-breadcrumb.component.js +139 -0
  48. package/dist/Actions/components/explorer/action-breadcrumb.component.js.map +1 -0
  49. package/dist/Actions/components/explorer/action-card.component.d.ts +39 -0
  50. package/dist/Actions/components/explorer/action-card.component.d.ts.map +1 -0
  51. package/dist/Actions/components/explorer/action-card.component.js +410 -0
  52. package/dist/Actions/components/explorer/action-card.component.js.map +1 -0
  53. package/dist/Actions/components/explorer/action-explorer.component.d.ts +62 -0
  54. package/dist/Actions/components/explorer/action-explorer.component.d.ts.map +1 -0
  55. package/dist/Actions/components/explorer/action-explorer.component.js +527 -0
  56. package/dist/Actions/components/explorer/action-explorer.component.js.map +1 -0
  57. package/dist/Actions/components/explorer/action-list-item.component.d.ts +24 -0
  58. package/dist/Actions/components/explorer/action-list-item.component.d.ts.map +1 -0
  59. package/dist/Actions/components/explorer/action-list-item.component.js +210 -0
  60. package/dist/Actions/components/explorer/action-list-item.component.js.map +1 -0
  61. package/dist/Actions/components/explorer/action-toolbar.component.d.ts +63 -0
  62. package/dist/Actions/components/explorer/action-toolbar.component.d.ts.map +1 -0
  63. package/dist/Actions/components/explorer/action-toolbar.component.js +483 -0
  64. package/dist/Actions/components/explorer/action-toolbar.component.js.map +1 -0
  65. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts +57 -0
  66. package/dist/Actions/components/explorer/action-tree-panel.component.d.ts.map +1 -0
  67. package/dist/Actions/components/explorer/action-tree-panel.component.js +454 -0
  68. package/dist/Actions/components/explorer/action-tree-panel.component.js.map +1 -0
  69. package/dist/Actions/components/explorer/index.d.ts +10 -0
  70. package/dist/Actions/components/explorer/index.d.ts.map +1 -0
  71. package/dist/Actions/components/explorer/index.js +14 -0
  72. package/dist/Actions/components/explorer/index.js.map +1 -0
  73. package/dist/Actions/components/explorer/new-action-panel.component.d.ts +49 -0
  74. package/dist/Actions/components/explorer/new-action-panel.component.d.ts.map +1 -0
  75. package/dist/Actions/components/explorer/new-action-panel.component.js +359 -0
  76. package/dist/Actions/components/explorer/new-action-panel.component.js.map +1 -0
  77. package/dist/Actions/components/explorer/new-category-panel.component.d.ts +37 -0
  78. package/dist/Actions/components/explorer/new-category-panel.component.d.ts.map +1 -0
  79. package/dist/Actions/components/explorer/new-category-panel.component.js +282 -0
  80. package/dist/Actions/components/explorer/new-category-panel.component.js.map +1 -0
  81. package/dist/Actions/index.d.ts +3 -0
  82. package/dist/Actions/index.d.ts.map +1 -1
  83. package/dist/Actions/index.js +5 -0
  84. package/dist/Actions/index.js.map +1 -1
  85. package/dist/Actions/services/action-explorer-state.service.d.ts +104 -0
  86. package/dist/Actions/services/action-explorer-state.service.d.ts.map +1 -0
  87. package/dist/Actions/services/action-explorer-state.service.js +352 -0
  88. package/dist/Actions/services/action-explorer-state.service.js.map +1 -0
  89. package/dist/Communication/communication-dashboard.component.d.ts +2 -6
  90. package/dist/Communication/communication-dashboard.component.d.ts.map +1 -1
  91. package/dist/Communication/communication-dashboard.component.js +142 -93
  92. package/dist/Communication/communication-dashboard.component.js.map +1 -1
  93. package/dist/Communication/communication-logs-resource.component.d.ts +10 -4
  94. package/dist/Communication/communication-logs-resource.component.d.ts.map +1 -1
  95. package/dist/Communication/communication-logs-resource.component.js +253 -121
  96. package/dist/Communication/communication-logs-resource.component.js.map +1 -1
  97. package/dist/Communication/communication-monitor-resource.component.d.ts +38 -3
  98. package/dist/Communication/communication-monitor-resource.component.d.ts.map +1 -1
  99. package/dist/Communication/communication-monitor-resource.component.js +431 -157
  100. package/dist/Communication/communication-monitor-resource.component.js.map +1 -1
  101. package/dist/Communication/communication-providers-resource.component.d.ts +16 -5
  102. package/dist/Communication/communication-providers-resource.component.d.ts.map +1 -1
  103. package/dist/Communication/communication-providers-resource.component.js +229 -118
  104. package/dist/Communication/communication-providers-resource.component.js.map +1 -1
  105. package/dist/Communication/communication-runs-resource.component.d.ts +4 -2
  106. package/dist/Communication/communication-runs-resource.component.d.ts.map +1 -1
  107. package/dist/Communication/communication-runs-resource.component.js +155 -149
  108. package/dist/Communication/communication-runs-resource.component.js.map +1 -1
  109. package/dist/Communication/communication-templates-resource.component.d.ts +43 -0
  110. package/dist/Communication/communication-templates-resource.component.d.ts.map +1 -0
  111. package/dist/Communication/communication-templates-resource.component.js +371 -0
  112. package/dist/Communication/communication-templates-resource.component.js.map +1 -0
  113. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts +69 -267
  114. package/dist/ComponentStudio/component-studio-dashboard.component.d.ts.map +1 -1
  115. package/dist/ComponentStudio/component-studio-dashboard.component.js +698 -1802
  116. package/dist/ComponentStudio/component-studio-dashboard.component.js.map +1 -1
  117. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts +68 -0
  118. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.d.ts.map +1 -0
  119. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js +401 -0
  120. package/dist/ComponentStudio/components/ai-assistant/ai-assistant-panel.component.js.map +1 -0
  121. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts +44 -0
  122. package/dist/ComponentStudio/components/browser/component-browser.component.d.ts.map +1 -0
  123. package/dist/ComponentStudio/components/browser/component-browser.component.js +636 -0
  124. package/dist/ComponentStudio/components/browser/component-browser.component.js.map +1 -0
  125. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts +35 -0
  126. package/dist/ComponentStudio/components/editors/code-editor-panel.component.d.ts.map +1 -0
  127. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js +380 -0
  128. package/dist/ComponentStudio/components/editors/code-editor-panel.component.js.map +1 -0
  129. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts +24 -0
  130. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.d.ts.map +1 -0
  131. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js +221 -0
  132. package/dist/ComponentStudio/components/editors/data-requirements-editor.component.js.map +1 -0
  133. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts +28 -0
  134. package/dist/ComponentStudio/components/editors/requirements-editor.component.d.ts.map +1 -0
  135. package/dist/ComponentStudio/components/editors/requirements-editor.component.js +263 -0
  136. package/dist/ComponentStudio/components/editors/requirements-editor.component.js.map +1 -0
  137. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts +34 -0
  138. package/dist/ComponentStudio/components/editors/spec-editor.component.d.ts.map +1 -0
  139. package/dist/ComponentStudio/components/editors/spec-editor.component.js +307 -0
  140. package/dist/ComponentStudio/components/editors/spec-editor.component.js.map +1 -0
  141. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts +29 -0
  142. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.d.ts.map +1 -0
  143. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js +159 -0
  144. package/dist/ComponentStudio/components/new-component-dialog/new-component-dialog.component.js.map +1 -0
  145. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts +20 -0
  146. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.d.ts.map +1 -0
  147. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js +192 -0
  148. package/dist/ComponentStudio/components/save-version-dialog/save-version-dialog.component.js.map +1 -0
  149. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts +57 -0
  150. package/dist/ComponentStudio/components/workspace/component-preview.component.d.ts.map +1 -0
  151. package/dist/ComponentStudio/components/workspace/component-preview.component.js +342 -0
  152. package/dist/ComponentStudio/components/workspace/component-preview.component.js.map +1 -0
  153. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts +15 -0
  154. package/dist/ComponentStudio/components/workspace/editor-tabs.component.d.ts.map +1 -0
  155. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js +144 -0
  156. package/dist/ComponentStudio/components/workspace/editor-tabs.component.js.map +1 -0
  157. package/dist/ComponentStudio/services/component-studio-state.service.d.ts +203 -0
  158. package/dist/ComponentStudio/services/component-studio-state.service.d.ts.map +1 -0
  159. package/dist/ComponentStudio/services/component-studio-state.service.js +651 -0
  160. package/dist/ComponentStudio/services/component-studio-state.service.js.map +1 -0
  161. package/dist/ComponentStudio/services/component-version.service.d.ts +120 -0
  162. package/dist/ComponentStudio/services/component-version.service.d.ts.map +1 -0
  163. package/dist/ComponentStudio/services/component-version.service.js +394 -0
  164. package/dist/ComponentStudio/services/component-version.service.js.map +1 -0
  165. package/dist/Credentials/components/credentials-categories-resource.component.d.ts +1 -1
  166. package/dist/Credentials/components/credentials-categories-resource.component.d.ts.map +1 -1
  167. package/dist/Credentials/components/credentials-categories-resource.component.js +1 -1
  168. package/dist/Credentials/components/credentials-list-resource.component.d.ts +1 -1
  169. package/dist/Credentials/components/credentials-list-resource.component.d.ts.map +1 -1
  170. package/dist/Credentials/components/credentials-list-resource.component.js +1 -1
  171. package/dist/Credentials/components/credentials-types-resource.component.d.ts +1 -1
  172. package/dist/Credentials/components/credentials-types-resource.component.d.ts.map +1 -1
  173. package/dist/Credentials/components/credentials-types-resource.component.js +1 -1
  174. package/dist/DashboardBrowser/dashboard-browser-resource.component.d.ts.map +1 -1
  175. package/dist/DashboardBrowser/dashboard-browser-resource.component.js +4 -2
  176. package/dist/DashboardBrowser/dashboard-browser-resource.component.js.map +1 -1
  177. package/dist/DataExplorer/components/navigation-panel/navigation-panel.component.d.ts +2 -2
  178. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts +3 -3
  179. package/dist/DataExplorer/data-explorer-dashboard.component.d.ts.map +1 -1
  180. package/dist/DataExplorer/data-explorer-dashboard.component.js +22 -6
  181. package/dist/DataExplorer/data-explorer-dashboard.component.js.map +1 -1
  182. package/dist/EntityAdmin/entity-admin-dashboard.component.js +2 -2
  183. package/dist/MCP/components/mcp-connection-dialog.component.d.ts +72 -0
  184. package/dist/MCP/components/mcp-connection-dialog.component.d.ts.map +1 -0
  185. package/dist/MCP/components/mcp-connection-dialog.component.js +529 -0
  186. package/dist/MCP/components/mcp-connection-dialog.component.js.map +1 -0
  187. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts +77 -0
  188. package/dist/MCP/components/mcp-log-detail-panel.component.d.ts.map +1 -0
  189. package/dist/MCP/components/mcp-log-detail-panel.component.js +535 -0
  190. package/dist/MCP/components/mcp-log-detail-panel.component.js.map +1 -0
  191. package/dist/MCP/components/mcp-server-dialog.component.d.ts +77 -0
  192. package/dist/MCP/components/mcp-server-dialog.component.d.ts.map +1 -0
  193. package/dist/MCP/components/mcp-server-dialog.component.js +437 -0
  194. package/dist/MCP/components/mcp-server-dialog.component.js.map +1 -0
  195. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts +271 -0
  196. package/dist/MCP/components/mcp-test-tool-dialog.component.d.ts.map +1 -0
  197. package/dist/MCP/components/mcp-test-tool-dialog.component.js +1300 -0
  198. package/dist/MCP/components/mcp-test-tool-dialog.component.js.map +1 -0
  199. package/dist/MCP/index.d.ts +11 -0
  200. package/dist/MCP/index.d.ts.map +1 -0
  201. package/dist/MCP/index.js +15 -0
  202. package/dist/MCP/index.js.map +1 -0
  203. package/dist/MCP/mcp-dashboard.component.d.ts +409 -0
  204. package/dist/MCP/mcp-dashboard.component.d.ts.map +1 -0
  205. package/dist/MCP/mcp-dashboard.component.js +2486 -0
  206. package/dist/MCP/mcp-dashboard.component.js.map +1 -0
  207. package/dist/MCP/mcp-resource.component.d.ts +20 -0
  208. package/dist/MCP/mcp-resource.component.d.ts.map +1 -0
  209. package/dist/MCP/mcp-resource.component.js +55 -0
  210. package/dist/MCP/mcp-resource.component.js.map +1 -0
  211. package/dist/MCP/mcp.module.d.ts +27 -0
  212. package/dist/MCP/mcp.module.d.ts.map +1 -0
  213. package/dist/MCP/mcp.module.js +122 -0
  214. package/dist/MCP/mcp.module.js.map +1 -0
  215. package/dist/MCP/services/mcp-tools.service.d.ts +109 -0
  216. package/dist/MCP/services/mcp-tools.service.d.ts.map +1 -0
  217. package/dist/MCP/services/mcp-tools.service.js +222 -0
  218. package/dist/MCP/services/mcp-tools.service.js.map +1 -0
  219. package/dist/Scheduling/components/index.d.ts +5 -8
  220. package/dist/Scheduling/components/index.d.ts.map +1 -1
  221. package/dist/Scheduling/components/index.js +6 -9
  222. package/dist/Scheduling/components/index.js.map +1 -1
  223. package/dist/Scheduling/components/job-slideout.component.d.ts +45 -0
  224. package/dist/Scheduling/components/job-slideout.component.d.ts.map +1 -0
  225. package/dist/Scheduling/components/job-slideout.component.js +458 -0
  226. package/dist/Scheduling/components/job-slideout.component.js.map +1 -0
  227. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts +19 -0
  228. package/dist/Scheduling/components/scheduling-activity-resource.component.d.ts.map +1 -0
  229. package/dist/Scheduling/components/scheduling-activity-resource.component.js +51 -0
  230. package/dist/Scheduling/components/scheduling-activity-resource.component.js.map +1 -0
  231. package/dist/Scheduling/components/scheduling-activity.component.d.ts +71 -0
  232. package/dist/Scheduling/components/scheduling-activity.component.d.ts.map +1 -0
  233. package/dist/Scheduling/components/scheduling-activity.component.js +714 -0
  234. package/dist/Scheduling/components/scheduling-activity.component.js.map +1 -0
  235. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts +3 -4
  236. package/dist/Scheduling/components/scheduling-jobs-resource.component.d.ts.map +1 -1
  237. package/dist/Scheduling/components/scheduling-jobs-resource.component.js +3 -7
  238. package/dist/Scheduling/components/scheduling-jobs-resource.component.js.map +1 -1
  239. package/dist/Scheduling/components/scheduling-jobs.component.d.ts +52 -34
  240. package/dist/Scheduling/components/scheduling-jobs.component.d.ts.map +1 -1
  241. package/dist/Scheduling/components/scheduling-jobs.component.js +446 -261
  242. package/dist/Scheduling/components/scheduling-jobs.component.js.map +1 -1
  243. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts +19 -0
  244. package/dist/Scheduling/components/scheduling-overview-resource.component.d.ts.map +1 -0
  245. package/dist/Scheduling/components/scheduling-overview-resource.component.js +51 -0
  246. package/dist/Scheduling/components/scheduling-overview-resource.component.js.map +1 -0
  247. package/dist/Scheduling/components/scheduling-overview.component.d.ts +43 -0
  248. package/dist/Scheduling/components/scheduling-overview.component.d.ts.map +1 -0
  249. package/dist/Scheduling/components/scheduling-overview.component.js +595 -0
  250. package/dist/Scheduling/components/scheduling-overview.component.js.map +1 -0
  251. package/dist/Scheduling/scheduling-dashboard.component.d.ts +22 -32
  252. package/dist/Scheduling/scheduling-dashboard.component.d.ts.map +1 -1
  253. package/dist/Scheduling/scheduling-dashboard.component.js +175 -169
  254. package/dist/Scheduling/scheduling-dashboard.component.js.map +1 -1
  255. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts +49 -6
  256. package/dist/Scheduling/services/scheduling-instrumentation.service.d.ts.map +1 -1
  257. package/dist/Scheduling/services/scheduling-instrumentation.service.js +218 -149
  258. package/dist/Scheduling/services/scheduling-instrumentation.service.js.map +1 -1
  259. package/dist/Testing/components/index.d.ts +7 -8
  260. package/dist/Testing/components/index.d.ts.map +1 -1
  261. package/dist/Testing/components/index.js +8 -9
  262. package/dist/Testing/components/index.js.map +1 -1
  263. package/dist/Testing/components/testing-analytics-resource.component.d.ts +0 -4
  264. package/dist/Testing/components/testing-analytics-resource.component.d.ts.map +1 -1
  265. package/dist/Testing/components/testing-analytics-resource.component.js +1 -7
  266. package/dist/Testing/components/testing-analytics-resource.component.js.map +1 -1
  267. package/dist/Testing/components/testing-analytics.component.d.ts +52 -37
  268. package/dist/Testing/components/testing-analytics.component.d.ts.map +1 -1
  269. package/dist/Testing/components/testing-analytics.component.js +1023 -569
  270. package/dist/Testing/components/testing-analytics.component.js.map +1 -1
  271. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts +16 -0
  272. package/dist/Testing/components/testing-dashboard-tab-resource.component.d.ts.map +1 -0
  273. package/dist/Testing/components/testing-dashboard-tab-resource.component.js +47 -0
  274. package/dist/Testing/components/testing-dashboard-tab-resource.component.js.map +1 -0
  275. package/dist/Testing/components/testing-dashboard-tab.component.d.ts +57 -0
  276. package/dist/Testing/components/testing-dashboard-tab.component.d.ts.map +1 -0
  277. package/dist/Testing/components/testing-dashboard-tab.component.js +649 -0
  278. package/dist/Testing/components/testing-dashboard-tab.component.js.map +1 -0
  279. package/dist/{Scheduling/components/scheduling-types-resource.component.d.ts → Testing/components/testing-explorer-resource.component.d.ts} +5 -9
  280. package/dist/Testing/components/testing-explorer-resource.component.d.ts.map +1 -0
  281. package/dist/Testing/components/testing-explorer-resource.component.js +47 -0
  282. package/dist/Testing/components/testing-explorer-resource.component.js.map +1 -0
  283. package/dist/Testing/components/testing-explorer.component.d.ts +193 -0
  284. package/dist/Testing/components/testing-explorer.component.d.ts.map +1 -0
  285. package/dist/Testing/components/testing-explorer.component.js +2212 -0
  286. package/dist/Testing/components/testing-explorer.component.js.map +1 -0
  287. package/dist/Testing/components/testing-review-resource.component.d.ts +16 -0
  288. package/dist/Testing/components/testing-review-resource.component.d.ts.map +1 -0
  289. package/dist/Testing/components/testing-review-resource.component.js +47 -0
  290. package/dist/Testing/components/testing-review-resource.component.js.map +1 -0
  291. package/dist/Testing/components/testing-review.component.d.ts +60 -0
  292. package/dist/Testing/components/testing-review.component.d.ts.map +1 -0
  293. package/dist/Testing/components/testing-review.component.js +985 -0
  294. package/dist/Testing/components/testing-review.component.js.map +1 -0
  295. package/dist/Testing/components/testing-runs-resource.component.d.ts +16 -0
  296. package/dist/Testing/components/testing-runs-resource.component.d.ts.map +1 -0
  297. package/dist/Testing/components/testing-runs-resource.component.js +47 -0
  298. package/dist/Testing/components/testing-runs-resource.component.js.map +1 -0
  299. package/dist/Testing/components/testing-runs.component.d.ts +82 -0
  300. package/dist/Testing/components/testing-runs.component.d.ts.map +1 -0
  301. package/dist/Testing/components/testing-runs.component.js +1067 -0
  302. package/dist/Testing/components/testing-runs.component.js.map +1 -0
  303. package/dist/Testing/testing-dashboard.component.d.ts +12 -15
  304. package/dist/Testing/testing-dashboard.component.d.ts.map +1 -1
  305. package/dist/Testing/testing-dashboard.component.js +46 -68
  306. package/dist/Testing/testing-dashboard.component.js.map +1 -1
  307. package/dist/module.d.ts +121 -97
  308. package/dist/module.d.ts.map +1 -1
  309. package/dist/module.js +227 -95
  310. package/dist/module.js.map +1 -1
  311. package/dist/public-api.d.ts +12 -3
  312. package/dist/public-api.d.ts.map +1 -1
  313. package/dist/public-api.js +47 -16
  314. package/dist/public-api.js.map +1 -1
  315. package/dist/shared/pipes/highlight-search.pipe.d.ts +17 -0
  316. package/dist/shared/pipes/highlight-search.pipe.d.ts.map +1 -0
  317. package/dist/shared/pipes/highlight-search.pipe.js +40 -0
  318. package/dist/shared/pipes/highlight-search.pipe.js.map +1 -0
  319. package/dist/shared/pipes/index.d.ts +2 -0
  320. package/dist/shared/pipes/index.d.ts.map +1 -0
  321. package/dist/shared/pipes/index.js +2 -0
  322. package/dist/shared/pipes/index.js.map +1 -0
  323. package/dist/shared/shared-pipes.module.d.ts +11 -0
  324. package/dist/shared/shared-pipes.module.d.ts.map +1 -0
  325. package/dist/shared/shared-pipes.module.js +24 -0
  326. package/dist/shared/shared-pipes.module.js.map +1 -0
  327. package/package.json +39 -32
  328. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts +0 -44
  329. package/dist/Credentials/components/credential-category-edit-panel.component.d.ts.map +0 -1
  330. package/dist/Credentials/components/credential-category-edit-panel.component.js +0 -456
  331. package/dist/Credentials/components/credential-category-edit-panel.component.js.map +0 -1
  332. package/dist/Credentials/components/credential-edit-panel.component.d.ts +0 -70
  333. package/dist/Credentials/components/credential-edit-panel.component.d.ts.map +0 -1
  334. package/dist/Credentials/components/credential-edit-panel.component.js +0 -694
  335. package/dist/Credentials/components/credential-edit-panel.component.js.map +0 -1
  336. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts +0 -56
  337. package/dist/Credentials/components/credential-type-edit-panel.component.d.ts.map +0 -1
  338. package/dist/Credentials/components/credential-type-edit-panel.component.js +0 -563
  339. package/dist/Credentials/components/credential-type-edit-panel.component.js.map +0 -1
  340. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts +0 -20
  341. package/dist/Scheduling/components/scheduling-health-resource.component.d.ts.map +0 -1
  342. package/dist/Scheduling/components/scheduling-health-resource.component.js +0 -55
  343. package/dist/Scheduling/components/scheduling-health-resource.component.js.map +0 -1
  344. package/dist/Scheduling/components/scheduling-health.component.d.ts +0 -30
  345. package/dist/Scheduling/components/scheduling-health.component.d.ts.map +0 -1
  346. package/dist/Scheduling/components/scheduling-health.component.js +0 -315
  347. package/dist/Scheduling/components/scheduling-health.component.js.map +0 -1
  348. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts +0 -20
  349. package/dist/Scheduling/components/scheduling-history-resource.component.d.ts.map +0 -1
  350. package/dist/Scheduling/components/scheduling-history-resource.component.js +0 -55
  351. package/dist/Scheduling/components/scheduling-history-resource.component.js.map +0 -1
  352. package/dist/Scheduling/components/scheduling-history.component.d.ts +0 -48
  353. package/dist/Scheduling/components/scheduling-history.component.d.ts.map +0 -1
  354. package/dist/Scheduling/components/scheduling-history.component.js +0 -377
  355. package/dist/Scheduling/components/scheduling-history.component.js.map +0 -1
  356. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts +0 -20
  357. package/dist/Scheduling/components/scheduling-monitor-resource.component.d.ts.map +0 -1
  358. package/dist/Scheduling/components/scheduling-monitor-resource.component.js +0 -55
  359. package/dist/Scheduling/components/scheduling-monitor-resource.component.js.map +0 -1
  360. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts +0 -37
  361. package/dist/Scheduling/components/scheduling-monitoring.component.d.ts.map +0 -1
  362. package/dist/Scheduling/components/scheduling-monitoring.component.js +0 -488
  363. package/dist/Scheduling/components/scheduling-monitoring.component.js.map +0 -1
  364. package/dist/Scheduling/components/scheduling-types-resource.component.d.ts.map +0 -1
  365. package/dist/Scheduling/components/scheduling-types-resource.component.js +0 -55
  366. package/dist/Scheduling/components/scheduling-types-resource.component.js.map +0 -1
  367. package/dist/Scheduling/components/scheduling-types.component.d.ts +0 -22
  368. package/dist/Scheduling/components/scheduling-types.component.d.ts.map +0 -1
  369. package/dist/Scheduling/components/scheduling-types.component.js +0 -165
  370. package/dist/Scheduling/components/scheduling-types.component.js.map +0 -1
  371. package/dist/Testing/components/testing-execution-resource.component.d.ts +0 -20
  372. package/dist/Testing/components/testing-execution-resource.component.d.ts.map +0 -1
  373. package/dist/Testing/components/testing-execution-resource.component.js +0 -55
  374. package/dist/Testing/components/testing-execution-resource.component.js.map +0 -1
  375. package/dist/Testing/components/testing-execution.component.d.ts +0 -71
  376. package/dist/Testing/components/testing-execution.component.d.ts.map +0 -1
  377. package/dist/Testing/components/testing-execution.component.js +0 -845
  378. package/dist/Testing/components/testing-execution.component.js.map +0 -1
  379. package/dist/Testing/components/testing-feedback-resource.component.d.ts +0 -20
  380. package/dist/Testing/components/testing-feedback-resource.component.d.ts.map +0 -1
  381. package/dist/Testing/components/testing-feedback-resource.component.js +0 -55
  382. package/dist/Testing/components/testing-feedback-resource.component.js.map +0 -1
  383. package/dist/Testing/components/testing-feedback.component.d.ts +0 -111
  384. package/dist/Testing/components/testing-feedback.component.d.ts.map +0 -1
  385. package/dist/Testing/components/testing-feedback.component.js +0 -1486
  386. package/dist/Testing/components/testing-feedback.component.js.map +0 -1
  387. package/dist/Testing/components/testing-overview-resource.component.d.ts +0 -20
  388. package/dist/Testing/components/testing-overview-resource.component.d.ts.map +0 -1
  389. package/dist/Testing/components/testing-overview-resource.component.js +0 -55
  390. package/dist/Testing/components/testing-overview-resource.component.js.map +0 -1
  391. package/dist/Testing/components/testing-overview.component.d.ts +0 -30
  392. package/dist/Testing/components/testing-overview.component.d.ts.map +0 -1
  393. package/dist/Testing/components/testing-overview.component.js +0 -361
  394. package/dist/Testing/components/testing-overview.component.js.map +0 -1
  395. package/dist/Testing/components/testing-version-comparison.component.d.ts +0 -62
  396. package/dist/Testing/components/testing-version-comparison.component.d.ts.map +0 -1
  397. package/dist/Testing/components/testing-version-comparison.component.js +0 -815
  398. package/dist/Testing/components/testing-version-comparison.component.js.map +0 -1
  399. package/dist/Testing/components/testing-version-resource.component.d.ts +0 -20
  400. package/dist/Testing/components/testing-version-resource.component.d.ts.map +0 -1
  401. package/dist/Testing/components/testing-version-resource.component.js +0 -55
  402. package/dist/Testing/components/testing-version-resource.component.js.map +0 -1
@@ -0,0 +1,359 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy } from '@angular/core';
2
+ import { trigger, transition, style, animate } from '@angular/animations';
3
+ import { Subject } from 'rxjs';
4
+ import { takeUntil } from 'rxjs/operators';
5
+ import { Metadata, LogError, CompositeKey } from '@memberjunction/core';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../services/action-explorer-state.service";
8
+ import * as i2 from "@memberjunction/ng-shared";
9
+ import * as i3 from "@angular/forms";
10
+ import * as i4 from "@progress/kendo-angular-dropdowns";
11
+ import * as i5 from "@progress/kendo-angular-inputs";
12
+ import * as i6 from "@progress/kendo-angular-buttons";
13
+ const _forTrack0 = ($index, $item) => $item.value;
14
+ function NewActionPanelComponent_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵelementStart(0, "div", 8);
16
+ i0.ɵɵelement(1, "i", 25);
17
+ i0.ɵɵtext(2);
18
+ i0.ɵɵelementEnd();
19
+ } if (rf & 2) {
20
+ const ctx_r1 = i0.ɵɵnextContext(2);
21
+ i0.ɵɵadvance(2);
22
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.Errors["general"], " ");
23
+ } }
24
+ function NewActionPanelComponent_Conditional_0_For_15_Conditional_8_Template(rf, ctx) { if (rf & 1) {
25
+ i0.ɵɵelement(0, "i", 31);
26
+ } }
27
+ function NewActionPanelComponent_Conditional_0_For_15_Template(rf, ctx) { if (rf & 1) {
28
+ const _r3 = i0.ɵɵgetCurrentView();
29
+ i0.ɵɵelementStart(0, "button", 26);
30
+ i0.ɵɵlistener("click", function NewActionPanelComponent_Conditional_0_For_15_Template_button_click_0_listener() { const option_r4 = i0.ɵɵrestoreView(_r3).$implicit; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.selectType(option_r4.value)); });
31
+ i0.ɵɵelementStart(1, "div", 27);
32
+ i0.ɵɵelement(2, "i");
33
+ i0.ɵɵelementEnd();
34
+ i0.ɵɵelementStart(3, "div", 28)(4, "span", 29);
35
+ i0.ɵɵtext(5);
36
+ i0.ɵɵelementEnd();
37
+ i0.ɵɵelementStart(6, "span", 30);
38
+ i0.ɵɵtext(7);
39
+ i0.ɵɵelementEnd()();
40
+ i0.ɵɵtemplate(8, NewActionPanelComponent_Conditional_0_For_15_Conditional_8_Template, 1, 0, "i", 31);
41
+ i0.ɵɵelementEnd();
42
+ } if (rf & 2) {
43
+ const option_r4 = ctx.$implicit;
44
+ const ctx_r1 = i0.ɵɵnextContext(2);
45
+ i0.ɵɵclassProp("selected", ctx_r1.Type === option_r4.value);
46
+ i0.ɵɵadvance(2);
47
+ i0.ɵɵclassMap(option_r4.icon);
48
+ i0.ɵɵadvance(3);
49
+ i0.ɵɵtextInterpolate(option_r4.label);
50
+ i0.ɵɵadvance(2);
51
+ i0.ɵɵtextInterpolate(option_r4.description);
52
+ i0.ɵɵadvance();
53
+ i0.ɵɵconditional(ctx_r1.Type === option_r4.value ? 8 : -1);
54
+ } }
55
+ function NewActionPanelComponent_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
56
+ i0.ɵɵelementStart(0, "span", 15);
57
+ i0.ɵɵtext(1);
58
+ i0.ɵɵelementEnd();
59
+ } if (rf & 2) {
60
+ const ctx_r1 = i0.ɵɵnextContext(2);
61
+ i0.ɵɵadvance();
62
+ i0.ɵɵtextInterpolate(ctx_r1.Errors["name"]);
63
+ } }
64
+ function NewActionPanelComponent_Conditional_0_Conditional_29_Template(rf, ctx) { if (rf & 1) {
65
+ i0.ɵɵelementStart(0, "span", 15);
66
+ i0.ɵɵtext(1);
67
+ i0.ɵɵelementEnd();
68
+ } if (rf & 2) {
69
+ const ctx_r1 = i0.ɵɵnextContext(2);
70
+ i0.ɵɵadvance();
71
+ i0.ɵɵtextInterpolate(ctx_r1.Errors["category"]);
72
+ } }
73
+ function NewActionPanelComponent_Conditional_0_Conditional_36_Template(rf, ctx) { if (rf & 1) {
74
+ i0.ɵɵelement(0, "i", 32);
75
+ i0.ɵɵtext(1, " Creating... ");
76
+ } }
77
+ function NewActionPanelComponent_Conditional_0_Conditional_37_Template(rf, ctx) { if (rf & 1) {
78
+ i0.ɵɵelement(0, "i", 33);
79
+ i0.ɵɵtext(1, " Create Action ");
80
+ } }
81
+ function NewActionPanelComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
82
+ const _r1 = i0.ɵɵgetCurrentView();
83
+ i0.ɵɵelementStart(0, "div", 1);
84
+ i0.ɵɵlistener("click", function NewActionPanelComponent_Conditional_0_Template_div_click_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onBackdropClick($event)); });
85
+ i0.ɵɵelementStart(1, "div", 2)(2, "div", 3)(3, "h2");
86
+ i0.ɵɵelement(4, "i", 4);
87
+ i0.ɵɵtext(5, " New Action ");
88
+ i0.ɵɵelementEnd();
89
+ i0.ɵɵelementStart(6, "button", 5);
90
+ i0.ɵɵlistener("click", function NewActionPanelComponent_Conditional_0_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
91
+ i0.ɵɵelement(7, "i", 6);
92
+ i0.ɵɵelementEnd()();
93
+ i0.ɵɵelementStart(8, "div", 7);
94
+ i0.ɵɵtemplate(9, NewActionPanelComponent_Conditional_0_Conditional_9_Template, 3, 1, "div", 8);
95
+ i0.ɵɵelementStart(10, "div", 9)(11, "label", 10);
96
+ i0.ɵɵtext(12, "Action Type");
97
+ i0.ɵɵelementEnd();
98
+ i0.ɵɵelementStart(13, "div", 11);
99
+ i0.ɵɵrepeaterCreate(14, NewActionPanelComponent_Conditional_0_For_15_Template, 9, 7, "button", 12, _forTrack0);
100
+ i0.ɵɵelementEnd()();
101
+ i0.ɵɵelementStart(16, "div", 9)(17, "label", 13);
102
+ i0.ɵɵtext(18, " Action Name ");
103
+ i0.ɵɵelementEnd();
104
+ i0.ɵɵelementStart(19, "kendo-textbox", 14);
105
+ i0.ɵɵtwoWayListener("ngModelChange", function NewActionPanelComponent_Conditional_0_Template_kendo_textbox_ngModelChange_19_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.Name, $event) || (ctx_r1.Name = $event); return i0.ɵɵresetView($event); });
106
+ i0.ɵɵelementEnd();
107
+ i0.ɵɵtemplate(20, NewActionPanelComponent_Conditional_0_Conditional_20_Template, 2, 1, "span", 15);
108
+ i0.ɵɵelementEnd();
109
+ i0.ɵɵelementStart(21, "div", 9)(22, "label", 16);
110
+ i0.ɵɵtext(23, " Description ");
111
+ i0.ɵɵelementEnd();
112
+ i0.ɵɵelementStart(24, "kendo-textarea", 17);
113
+ i0.ɵɵtwoWayListener("ngModelChange", function NewActionPanelComponent_Conditional_0_Template_kendo_textarea_ngModelChange_24_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.Description, $event) || (ctx_r1.Description = $event); return i0.ɵɵresetView($event); });
114
+ i0.ɵɵelementEnd()();
115
+ i0.ɵɵelementStart(25, "div", 9)(26, "label", 18);
116
+ i0.ɵɵtext(27, " Category ");
117
+ i0.ɵɵelementEnd();
118
+ i0.ɵɵelementStart(28, "kendo-dropdownlist", 19);
119
+ i0.ɵɵtwoWayListener("ngModelChange", function NewActionPanelComponent_Conditional_0_Template_kendo_dropdownlist_ngModelChange_28_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.CategoryID, $event) || (ctx_r1.CategoryID = $event); return i0.ɵɵresetView($event); });
120
+ i0.ɵɵelementEnd();
121
+ i0.ɵɵtemplate(29, NewActionPanelComponent_Conditional_0_Conditional_29_Template, 2, 1, "span", 15);
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵelementStart(30, "div", 20);
124
+ i0.ɵɵelement(31, "i", 21);
125
+ i0.ɵɵelementStart(32, "p");
126
+ i0.ɵɵtext(33, " After creating the action, you'll be taken to the full action editor where you can configure parameters, code, and other settings. ");
127
+ i0.ɵɵelementEnd()()();
128
+ i0.ɵɵelementStart(34, "div", 22)(35, "button", 23);
129
+ i0.ɵɵlistener("click", function NewActionPanelComponent_Conditional_0_Template_button_click_35_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSave()); });
130
+ i0.ɵɵtemplate(36, NewActionPanelComponent_Conditional_0_Conditional_36_Template, 2, 0)(37, NewActionPanelComponent_Conditional_0_Conditional_37_Template, 2, 0);
131
+ i0.ɵɵelementEnd();
132
+ i0.ɵɵelementStart(38, "button", 24);
133
+ i0.ɵɵlistener("click", function NewActionPanelComponent_Conditional_0_Template_button_click_38_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onClose()); });
134
+ i0.ɵɵtext(39, " Cancel ");
135
+ i0.ɵɵelementEnd()()()();
136
+ } if (rf & 2) {
137
+ const ctx_r1 = i0.ɵɵnextContext();
138
+ i0.ɵɵadvance();
139
+ i0.ɵɵproperty("@slideIn", undefined);
140
+ i0.ɵɵadvance(5);
141
+ i0.ɵɵproperty("fillMode", "flat");
142
+ i0.ɵɵadvance(3);
143
+ i0.ɵɵconditional(ctx_r1.Errors["general"] ? 9 : -1);
144
+ i0.ɵɵadvance(5);
145
+ i0.ɵɵrepeater(ctx_r1.TypeOptions);
146
+ i0.ɵɵadvance(5);
147
+ i0.ɵɵclassProp("invalid", ctx_r1.Errors["name"]);
148
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.Name);
149
+ i0.ɵɵproperty("placeholder", "Enter action name")("maxlength", 425);
150
+ i0.ɵɵadvance();
151
+ i0.ɵɵconditional(ctx_r1.Errors["name"] ? 20 : -1);
152
+ i0.ɵɵadvance(4);
153
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.Description);
154
+ i0.ɵɵproperty("placeholder", "Describe what this action does")("rows", 3);
155
+ i0.ɵɵadvance(4);
156
+ i0.ɵɵclassProp("invalid", ctx_r1.Errors["category"]);
157
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.CategoryID);
158
+ i0.ɵɵproperty("data", ctx_r1.getCategoryOptions())("valuePrimitive", true);
159
+ i0.ɵɵadvance();
160
+ i0.ɵɵconditional(ctx_r1.Errors["category"] ? 29 : -1);
161
+ i0.ɵɵadvance(6);
162
+ i0.ɵɵproperty("fillMode", "solid")("themeColor", "primary")("disabled", ctx_r1.IsSaving);
163
+ i0.ɵɵadvance();
164
+ i0.ɵɵconditional(ctx_r1.IsSaving ? 36 : 37);
165
+ i0.ɵɵadvance(2);
166
+ i0.ɵɵproperty("fillMode", "outline")("disabled", ctx_r1.IsSaving);
167
+ } }
168
+ export class NewActionPanelComponent {
169
+ StateService;
170
+ navigationService;
171
+ cdr;
172
+ Categories = [];
173
+ PreselectedCategoryId = null;
174
+ ActionCreated = new EventEmitter();
175
+ Close = new EventEmitter();
176
+ IsOpen = false;
177
+ IsSaving = false;
178
+ // Form fields
179
+ Name = '';
180
+ Description = '';
181
+ CategoryID = null;
182
+ Type = 'Custom';
183
+ // Validation
184
+ Errors = {};
185
+ TypeOptions = [
186
+ {
187
+ value: 'Custom',
188
+ label: 'Custom Action',
189
+ icon: 'fa-solid fa-code',
190
+ description: 'Write your own action code with full control'
191
+ },
192
+ {
193
+ value: 'Generated',
194
+ label: 'AI Generated',
195
+ icon: 'fa-solid fa-robot',
196
+ description: 'Let AI generate the action code from a prompt'
197
+ }
198
+ ];
199
+ destroy$ = new Subject();
200
+ constructor(StateService, navigationService, cdr) {
201
+ this.StateService = StateService;
202
+ this.navigationService = navigationService;
203
+ this.cdr = cdr;
204
+ }
205
+ ngOnInit() {
206
+ this.StateService.NewActionPanelOpen$.pipe(takeUntil(this.destroy$)).subscribe(isOpen => {
207
+ this.IsOpen = isOpen;
208
+ if (isOpen) {
209
+ this.resetForm();
210
+ }
211
+ this.cdr.markForCheck();
212
+ });
213
+ }
214
+ ngOnDestroy() {
215
+ this.destroy$.next();
216
+ this.destroy$.complete();
217
+ }
218
+ resetForm() {
219
+ this.Name = '';
220
+ this.Description = '';
221
+ this.CategoryID = this.PreselectedCategoryId || (this.StateService.SelectedCategoryId !== 'all' && this.StateService.SelectedCategoryId !== 'uncategorized'
222
+ ? this.StateService.SelectedCategoryId
223
+ : null);
224
+ this.Type = 'Custom';
225
+ this.Errors = {};
226
+ this.IsSaving = false;
227
+ }
228
+ onClose() {
229
+ this.StateService.closeNewActionPanel();
230
+ this.Close.emit();
231
+ }
232
+ onBackdropClick(event) {
233
+ if (event.target.classList.contains('panel-backdrop')) {
234
+ this.onClose();
235
+ }
236
+ }
237
+ validate() {
238
+ this.Errors = {};
239
+ if (!this.Name || this.Name.trim().length === 0) {
240
+ this.Errors['name'] = 'Action name is required';
241
+ }
242
+ else if (this.Name.trim().length < 3) {
243
+ this.Errors['name'] = 'Action name must be at least 3 characters';
244
+ }
245
+ else if (this.Name.trim().length > 425) {
246
+ this.Errors['name'] = 'Action name must be less than 425 characters';
247
+ }
248
+ if (!this.CategoryID) {
249
+ this.Errors['category'] = 'Please select a category';
250
+ }
251
+ return Object.keys(this.Errors).length === 0;
252
+ }
253
+ async onSave() {
254
+ if (!this.validate()) {
255
+ this.cdr.markForCheck();
256
+ return;
257
+ }
258
+ this.IsSaving = true;
259
+ this.cdr.markForCheck();
260
+ try {
261
+ const md = new Metadata();
262
+ const action = await md.GetEntityObject('Actions');
263
+ action.Name = this.Name.trim();
264
+ action.Description = this.Description.trim() || null;
265
+ action.CategoryID = this.CategoryID;
266
+ action.Type = this.Type;
267
+ action.Status = 'Pending'; // New actions start as pending
268
+ const saved = await action.Save();
269
+ if (saved) {
270
+ this.ActionCreated.emit(action);
271
+ this.StateService.closeNewActionPanel();
272
+ // Open the full action record for editing
273
+ const key = new CompositeKey([{ FieldName: 'ID', Value: action.ID }]);
274
+ this.navigationService.OpenEntityRecord('Actions', key);
275
+ }
276
+ else {
277
+ this.Errors['general'] = 'Failed to save action. Please try again.';
278
+ }
279
+ }
280
+ catch (error) {
281
+ LogError('Failed to create action', undefined, error);
282
+ this.Errors['general'] = 'An error occurred while creating the action.';
283
+ }
284
+ finally {
285
+ this.IsSaving = false;
286
+ this.cdr.markForCheck();
287
+ }
288
+ }
289
+ selectType(type) {
290
+ this.Type = type;
291
+ }
292
+ getCategoryOptions() {
293
+ const options = [];
294
+ // Sort categories by path for easier selection
295
+ const sortedCategories = [...this.Categories].sort((a, b) => this.getCategoryPath(a).localeCompare(this.getCategoryPath(b)));
296
+ sortedCategories.forEach(category => {
297
+ options.push({
298
+ text: this.getCategoryPath(category),
299
+ value: category.ID
300
+ });
301
+ });
302
+ return options;
303
+ }
304
+ getCategoryPath(category) {
305
+ const path = [category.Name];
306
+ let currentParentId = category.ParentID;
307
+ while (currentParentId) {
308
+ const parent = this.Categories.find(c => c.ID === currentParentId);
309
+ if (parent) {
310
+ path.unshift(parent.Name);
311
+ currentParentId = parent.ParentID || null;
312
+ }
313
+ else {
314
+ break;
315
+ }
316
+ }
317
+ return path.join(' / ');
318
+ }
319
+ static ɵfac = function NewActionPanelComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || NewActionPanelComponent)(i0.ɵɵdirectiveInject(i1.ActionExplorerStateService), i0.ɵɵdirectiveInject(i2.NavigationService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); };
320
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NewActionPanelComponent, selectors: [["mj-new-action-panel"]], inputs: { Categories: "Categories", PreselectedCategoryId: "PreselectedCategoryId" }, outputs: { ActionCreated: "ActionCreated", Close: "Close" }, decls: 1, vars: 1, consts: [[1, "panel-backdrop"], [1, "panel-backdrop", 3, "click"], [1, "slide-panel"], [1, "panel-header"], [1, "fa-solid", "fa-bolt"], ["kendoButton", "", 3, "click", "fillMode"], [1, "fa-solid", "fa-times"], [1, "panel-content"], [1, "error-banner"], [1, "form-group"], [1, "form-label", "required"], [1, "type-selector"], [1, "type-option", 3, "selected"], ["for", "actionName", 1, "form-label", "required"], ["id", "actionName", 3, "ngModelChange", "ngModel", "placeholder", "maxlength"], [1, "error-text"], ["for", "actionDescription", 1, "form-label"], ["id", "actionDescription", 3, "ngModelChange", "ngModel", "placeholder", "rows"], ["for", "actionCategory", 1, "form-label", "required"], ["id", "actionCategory", "textField", "text", "valueField", "value", 3, "ngModelChange", "ngModel", "data", "valuePrimitive"], [1, "info-box"], [1, "fa-solid", "fa-info-circle"], [1, "panel-footer"], ["kendoButton", "", 3, "click", "fillMode", "themeColor", "disabled"], ["kendoButton", "", 3, "click", "fillMode", "disabled"], [1, "fa-solid", "fa-exclamation-circle"], [1, "type-option", 3, "click"], [1, "type-icon"], [1, "type-info"], [1, "type-label"], [1, "type-description"], [1, "fa-solid", "fa-check", "check-icon"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "fa-solid", "fa-check"]], template: function NewActionPanelComponent_Template(rf, ctx) { if (rf & 1) {
321
+ i0.ɵɵtemplate(0, NewActionPanelComponent_Conditional_0_Template, 40, 24, "div", 0);
322
+ } if (rf & 2) {
323
+ i0.ɵɵconditional(ctx.IsOpen ? 0 : -1);
324
+ } }, dependencies: [i3.NgControlStatus, i3.MaxLengthValidator, i3.NgModel, i4.DropDownListComponent, i5.TextAreaComponent, i5.TextBoxComponent, i6.ButtonComponent], styles: [".panel-backdrop[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n display: flex;\n justify-content: flex-end;\n}\n\n.slide-panel[_ngcontent-%COMP%] {\n width: 500px;\n max-width: 100%;\n height: 100%;\n background: var(--kendo-color-surface);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n\n.panel-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--kendo-color-on-app-surface);\n}\n\n.panel-header[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n padding: 24px;\n overflow-y: auto;\n}\n\n.error-banner[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--kendo-color-error-subtle);\n color: var(--kendo-color-error);\n border-radius: 8px;\n margin-bottom: 20px;\n font-size: 14px;\n}\n\n.error-banner[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n}\n\n.form-group[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n}\n\n.form-label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 8px;\n font-size: 13px;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n\n.form-label.required[_ngcontent-%COMP%]::after {\n content: ' *';\n color: var(--kendo-color-error);\n}\n\n\n\n.type-selector[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.type-option[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 16px;\n border: 2px solid var(--kendo-color-border);\n border-radius: 10px;\n background: var(--kendo-color-surface);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: left;\n}\n\n.type-option[_ngcontent-%COMP%]:hover {\n border-color: var(--kendo-color-primary-subtle);\n background: var(--kendo-color-base-hover);\n}\n\n.type-option.selected[_ngcontent-%COMP%] {\n border-color: var(--kendo-color-primary);\n background: var(--kendo-color-primary-subtle);\n}\n\n.type-icon[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border-radius: 10px;\n background: var(--kendo-color-base-subtle);\n flex-shrink: 0;\n}\n\n.type-option.selected[_ngcontent-%COMP%] .type-icon[_ngcontent-%COMP%] {\n background: var(--kendo-color-primary);\n}\n\n.type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.type-option.selected[_ngcontent-%COMP%] .type-icon[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: white;\n}\n\n.type-info[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.type-label[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n\n.type-description[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--kendo-color-subtle);\n}\n\n.check-icon[_ngcontent-%COMP%] {\n color: var(--kendo-color-primary);\n font-size: 16px;\n}\n\n\n\n.form-group[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%], \n.form-group[_ngcontent-%COMP%] kendo-textarea[_ngcontent-%COMP%], \n.form-group[_ngcontent-%COMP%] kendo-dropdownlist[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.form-group[_ngcontent-%COMP%] kendo-textbox.invalid[_ngcontent-%COMP%], \n.form-group[_ngcontent-%COMP%] kendo-textarea.invalid[_ngcontent-%COMP%], \n.form-group[_ngcontent-%COMP%] kendo-dropdownlist.invalid[_ngcontent-%COMP%] {\n border-color: var(--kendo-color-error);\n}\n\n.error-text[_ngcontent-%COMP%] {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: var(--kendo-color-error);\n}\n\n\n\n.info-box[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding: 14px 16px;\n background: var(--kendo-color-info-subtle);\n border-radius: 8px;\n margin-top: 24px;\n}\n\n.info-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--kendo-color-info);\n font-size: 16px;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.info-box[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 13px;\n color: var(--kendo-color-on-app-surface);\n line-height: 1.5;\n}\n\n.panel-footer[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n padding: 16px 24px;\n border-top: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-app-surface);\n}\n\n.panel-footer[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n\n\n@media (max-width: 520px) {\n .slide-panel[_ngcontent-%COMP%] {\n width: 100%;\n }\n}"], data: { animation: [
325
+ trigger('slideIn', [
326
+ transition(':enter', [
327
+ style({ transform: 'translateX(100%)', opacity: 0 }),
328
+ animate('250ms ease-out', style({ transform: 'translateX(0)', opacity: 1 }))
329
+ ]),
330
+ transition(':leave', [
331
+ animate('200ms ease-in', style({ transform: 'translateX(100%)', opacity: 0 }))
332
+ ])
333
+ ])
334
+ ] }, changeDetection: 0 });
335
+ }
336
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NewActionPanelComponent, [{
337
+ type: Component,
338
+ args: [{ selector: 'mj-new-action-panel', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
339
+ trigger('slideIn', [
340
+ transition(':enter', [
341
+ style({ transform: 'translateX(100%)', opacity: 0 }),
342
+ animate('250ms ease-out', style({ transform: 'translateX(0)', opacity: 1 }))
343
+ ]),
344
+ transition(':leave', [
345
+ animate('200ms ease-in', style({ transform: 'translateX(100%)', opacity: 0 }))
346
+ ])
347
+ ])
348
+ ], template: "@if (IsOpen) {\n <div class=\"panel-backdrop\" (click)=\"onBackdropClick($event)\">\n <div class=\"slide-panel\" @slideIn>\n <div class=\"panel-header\">\n <h2>\n <i class=\"fa-solid fa-bolt\"></i>\n New Action\n </h2>\n <button kendoButton\n [fillMode]=\"'flat'\"\n (click)=\"onClose()\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n </div>\n\n <div class=\"panel-content\">\n @if (Errors['general']) {\n <div class=\"error-banner\">\n <i class=\"fa-solid fa-exclamation-circle\"></i>\n {{ Errors['general'] }}\n </div>\n }\n\n <!-- Action Type Selection -->\n <div class=\"form-group\">\n <label class=\"form-label required\">Action Type</label>\n <div class=\"type-selector\">\n @for (option of TypeOptions; track option.value) {\n <button class=\"type-option\"\n [class.selected]=\"Type === option.value\"\n (click)=\"selectType(option.value)\">\n <div class=\"type-icon\">\n <i [class]=\"option.icon\"></i>\n </div>\n <div class=\"type-info\">\n <span class=\"type-label\">{{ option.label }}</span>\n <span class=\"type-description\">{{ option.description }}</span>\n </div>\n @if (Type === option.value) {\n <i class=\"fa-solid fa-check check-icon\"></i>\n }\n </button>\n }\n </div>\n </div>\n\n <div class=\"form-group\">\n <label for=\"actionName\" class=\"form-label required\">\n Action Name\n </label>\n <kendo-textbox\n id=\"actionName\"\n [(ngModel)]=\"Name\"\n [placeholder]=\"'Enter action name'\"\n [maxlength]=\"425\"\n [class.invalid]=\"Errors['name']\">\n </kendo-textbox>\n @if (Errors['name']) {\n <span class=\"error-text\">{{ Errors['name'] }}</span>\n }\n </div>\n\n <div class=\"form-group\">\n <label for=\"actionDescription\" class=\"form-label\">\n Description\n </label>\n <kendo-textarea\n id=\"actionDescription\"\n [(ngModel)]=\"Description\"\n [placeholder]=\"'Describe what this action does'\"\n [rows]=\"3\">\n </kendo-textarea>\n </div>\n\n <div class=\"form-group\">\n <label for=\"actionCategory\" class=\"form-label required\">\n Category\n </label>\n <kendo-dropdownlist\n id=\"actionCategory\"\n [(ngModel)]=\"CategoryID\"\n [data]=\"getCategoryOptions()\"\n textField=\"text\"\n valueField=\"value\"\n [valuePrimitive]=\"true\"\n [class.invalid]=\"Errors['category']\">\n </kendo-dropdownlist>\n @if (Errors['category']) {\n <span class=\"error-text\">{{ Errors['category'] }}</span>\n }\n </div>\n\n <div class=\"info-box\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>\n After creating the action, you'll be taken to the full action editor\n where you can configure parameters, code, and other settings.\n </p>\n </div>\n </div>\n\n <div class=\"panel-footer\">\n <button kendoButton\n [fillMode]=\"'solid'\"\n [themeColor]=\"'primary'\"\n [disabled]=\"IsSaving\"\n (click)=\"onSave()\">\n @if (IsSaving) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n Creating...\n } @else {\n <i class=\"fa-solid fa-check\"></i>\n Create Action\n }\n </button>\n <button kendoButton\n [fillMode]=\"'outline'\"\n [disabled]=\"IsSaving\"\n (click)=\"onClose()\">\n Cancel\n </button>\n </div>\n </div>\n </div>\n}\n", styles: [".panel-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: rgba(0, 0, 0, 0.4);\n z-index: 1000;\n display: flex;\n justify-content: flex-end;\n}\n\n.slide-panel {\n width: 500px;\n max-width: 100%;\n height: 100%;\n background: var(--kendo-color-surface);\n box-shadow: -4px 0 24px rgba(0, 0, 0, 0.15);\n display: flex;\n flex-direction: column;\n}\n\n.panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 20px 24px;\n border-bottom: 1px solid var(--kendo-color-border);\n}\n\n.panel-header h2 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n display: flex;\n align-items: center;\n gap: 10px;\n color: var(--kendo-color-on-app-surface);\n}\n\n.panel-header h2 i {\n color: var(--kendo-color-primary);\n}\n\n.panel-content {\n flex: 1;\n padding: 24px;\n overflow-y: auto;\n}\n\n.error-banner {\n display: flex;\n align-items: center;\n gap: 10px;\n padding: 12px 16px;\n background: var(--kendo-color-error-subtle);\n color: var(--kendo-color-error);\n border-radius: 8px;\n margin-bottom: 20px;\n font-size: 14px;\n}\n\n.error-banner i {\n font-size: 16px;\n}\n\n.form-group {\n margin-bottom: 20px;\n}\n\n.form-label {\n display: block;\n margin-bottom: 8px;\n font-size: 13px;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n\n.form-label.required::after {\n content: ' *';\n color: var(--kendo-color-error);\n}\n\n/* Type Selector */\n.type-selector {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n\n.type-option {\n display: flex;\n align-items: center;\n gap: 14px;\n padding: 14px 16px;\n border: 2px solid var(--kendo-color-border);\n border-radius: 10px;\n background: var(--kendo-color-surface);\n cursor: pointer;\n transition: all 0.2s ease;\n text-align: left;\n}\n\n.type-option:hover {\n border-color: var(--kendo-color-primary-subtle);\n background: var(--kendo-color-base-hover);\n}\n\n.type-option.selected {\n border-color: var(--kendo-color-primary);\n background: var(--kendo-color-primary-subtle);\n}\n\n.type-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 44px;\n height: 44px;\n border-radius: 10px;\n background: var(--kendo-color-base-subtle);\n flex-shrink: 0;\n}\n\n.type-option.selected .type-icon {\n background: var(--kendo-color-primary);\n}\n\n.type-icon i {\n font-size: 18px;\n color: var(--kendo-color-subtle);\n}\n\n.type-option.selected .type-icon i {\n color: white;\n}\n\n.type-info {\n flex: 1;\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.type-label {\n font-size: 14px;\n font-weight: 600;\n color: var(--kendo-color-on-app-surface);\n}\n\n.type-description {\n font-size: 12px;\n color: var(--kendo-color-subtle);\n}\n\n.check-icon {\n color: var(--kendo-color-primary);\n font-size: 16px;\n}\n\n/* Form Fields */\n.form-group kendo-textbox,\n.form-group kendo-textarea,\n.form-group kendo-dropdownlist {\n width: 100%;\n}\n\n.form-group kendo-textbox.invalid,\n.form-group kendo-textarea.invalid,\n.form-group kendo-dropdownlist.invalid {\n border-color: var(--kendo-color-error);\n}\n\n.error-text {\n display: block;\n margin-top: 4px;\n font-size: 12px;\n color: var(--kendo-color-error);\n}\n\n/* Info Box */\n.info-box {\n display: flex;\n gap: 12px;\n padding: 14px 16px;\n background: var(--kendo-color-info-subtle);\n border-radius: 8px;\n margin-top: 24px;\n}\n\n.info-box i {\n color: var(--kendo-color-info);\n font-size: 16px;\n flex-shrink: 0;\n margin-top: 2px;\n}\n\n.info-box p {\n margin: 0;\n font-size: 13px;\n color: var(--kendo-color-on-app-surface);\n line-height: 1.5;\n}\n\n.panel-footer {\n display: flex;\n gap: 12px;\n padding: 16px 24px;\n border-top: 1px solid var(--kendo-color-border);\n background: var(--kendo-color-app-surface);\n}\n\n.panel-footer button {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n/* Mobile */\n@media (max-width: 520px) {\n .slide-panel {\n width: 100%;\n }\n}\n"] }]
349
+ }], () => [{ type: i1.ActionExplorerStateService }, { type: i2.NavigationService }, { type: i0.ChangeDetectorRef }], { Categories: [{
350
+ type: Input
351
+ }], PreselectedCategoryId: [{
352
+ type: Input
353
+ }], ActionCreated: [{
354
+ type: Output
355
+ }], Close: [{
356
+ type: Output
357
+ }] }); })();
358
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(NewActionPanelComponent, { className: "NewActionPanelComponent", filePath: "src/Actions/components/explorer/new-action-panel.component.ts", lineNumber: 38 }); })();
359
+ //# sourceMappingURL=new-action-panel.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-action-panel.component.js","sourceRoot":"","sources":["../../../../src/Actions/components/explorer/new-action-panel.component.ts","../../../../src/Actions/components/explorer/new-action-panel.component.html"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
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 * as i0 from "@angular/core";
5
+ export declare class NewCategoryPanelComponent implements OnInit, OnDestroy {
6
+ StateService: ActionExplorerStateService;
7
+ private cdr;
8
+ Categories: ActionCategoryEntity[];
9
+ PreselectedParentId: string | null;
10
+ CategoryCreated: EventEmitter<ActionCategoryEntity>;
11
+ Close: EventEmitter<void>;
12
+ IsOpen: boolean;
13
+ IsSaving: boolean;
14
+ Name: string;
15
+ Description: string;
16
+ ParentID: string | null;
17
+ Errors: {
18
+ [key: string]: string;
19
+ };
20
+ private destroy$;
21
+ constructor(StateService: ActionExplorerStateService, cdr: ChangeDetectorRef);
22
+ ngOnInit(): void;
23
+ ngOnDestroy(): void;
24
+ private resetForm;
25
+ onClose(): void;
26
+ onBackdropClick(event: MouseEvent): void;
27
+ validate(): boolean;
28
+ onSave(): Promise<void>;
29
+ getParentOptions(): Array<{
30
+ text: string;
31
+ value: string | null;
32
+ }>;
33
+ private getCategoryPath;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<NewCategoryPanelComponent, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<NewCategoryPanelComponent, "mj-new-category-panel", never, { "Categories": { "alias": "Categories"; "required": false; }; "PreselectedParentId": { "alias": "PreselectedParentId"; "required": false; }; }, { "CategoryCreated": "CategoryCreated"; "Close": "Close"; }, never, never, false, never>;
36
+ }
37
+ //# sourceMappingURL=new-category-panel.component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-category-panel.component.d.ts","sourceRoot":"","sources":["../../../../src/Actions/components/explorer/new-category-panel.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,MAAM,EACN,SAAS,EAET,iBAAiB,EAClB,MAAM,eAAe,CAAC;AAKvB,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;;AAE1F,qBAiBa,yBAA0B,YAAW,MAAM,EAAE,SAAS;IAoBxD,YAAY,EAAE,0BAA0B;IAC/C,OAAO,CAAC,GAAG;IApBJ,UAAU,EAAE,oBAAoB,EAAE,CAAM;IACxC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACzC,eAAe,qCAA4C;IAC3D,KAAK,qBAA4B;IAEpC,MAAM,UAAS;IACf,QAAQ,UAAS;IAGjB,IAAI,SAAM;IACV,WAAW,SAAM;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAQ;IAG/B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAM;IAE9C,OAAO,CAAC,QAAQ,CAAuB;gBAG9B,YAAY,EAAE,0BAA0B,EACvC,GAAG,EAAE,iBAAiB;IAGhC,QAAQ,IAAI,IAAI;IAehB,WAAW,IAAI,IAAI;IAKnB,OAAO,CAAC,SAAS;IAQV,OAAO,IAAI,IAAI;IAKf,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAMxC,QAAQ,IAAI,OAAO;IAuBb,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAkC7B,gBAAgB,IAAI,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAoBxE,OAAO,CAAC,eAAe;yCA5IZ,yBAAyB;2CAAzB,yBAAyB;CA4JrC"}