@memberjunction/ng-core-entity-forms 6.2.0-edge.0 → 6.2.0-edge.1

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 (275) hide show
  1. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +1 -1
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +2 -2
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  4. package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +90 -16
  6. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  7. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +218 -70
  8. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +80 -16
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  11. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +146 -46
  12. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +329 -27
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  15. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +794 -262
  16. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +76 -0
  18. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  19. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +77 -33
  20. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +69 -15
  22. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  23. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +182 -74
  24. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +105 -25
  26. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  27. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +272 -112
  28. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +32 -6
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +71 -19
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +10 -0
  34. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  35. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +27 -7
  36. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +65 -15
  38. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  39. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +152 -52
  40. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +81 -15
  42. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  43. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +145 -45
  44. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +71 -17
  46. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +175 -67
  48. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +173 -27
  50. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  51. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +385 -93
  52. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts +64 -4
  54. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +129 -29
  56. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +260 -27
  58. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +686 -238
  60. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  61. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +10 -0
  62. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  63. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +17 -9
  64. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  65. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +74 -16
  66. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  67. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +174 -58
  68. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  69. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +108 -14
  70. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
  71. package/dist/lib/custom/Actions/action-execution-log-form.component.js +258 -70
  72. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  73. package/dist/lib/custom/Actions/action-form.component.d.ts +198 -14
  74. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  75. package/dist/lib/custom/Actions/action-form.component.js +387 -107
  76. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  77. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts +12 -6
  78. package/dist/lib/custom/BridgeProviders/bridge-provider-features.d.ts.map +1 -1
  79. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js +41 -29
  80. package/dist/lib/custom/BridgeProviders/bridge-provider-features.js.map +1 -1
  81. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js +14 -14
  82. package/dist/lib/custom/BridgeProviders/bridge-provider-form.component.js.map +1 -1
  83. package/dist/lib/custom/Companies/company-overview.panel.d.ts +1 -1
  84. package/dist/lib/custom/Companies/company-overview.panel.js +2 -2
  85. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  86. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +1 -1
  87. package/dist/lib/custom/Conversations/conversation-overview.panel.js +2 -2
  88. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  89. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +1 -1
  90. package/dist/lib/custom/Employees/employee-overview.panel.js +2 -2
  91. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  92. package/dist/lib/custom/Entities/entity-form.component.d.ts +209 -28
  93. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  94. package/dist/lib/custom/Entities/entity-form.component.js +494 -138
  95. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  96. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +5 -1
  97. package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
  98. package/dist/lib/custom/EntityActions/entityaction.form.component.js +10 -2
  99. package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
  100. package/dist/lib/custom/Files/file-form.component.d.ts +1 -1
  101. package/dist/lib/custom/Files/file-form.component.js +2 -2
  102. package/dist/lib/custom/Files/file-form.component.js.map +1 -1
  103. package/dist/lib/custom/Lists/list-form.component.d.ts +300 -36
  104. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  105. package/dist/lib/custom/Lists/list-form.component.js +664 -208
  106. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  107. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts +31 -0
  108. package/dist/lib/custom/MLModels/ml-model-view-models.d.ts.map +1 -1
  109. package/dist/lib/custom/MLModels/ml-model-view-models.js +52 -16
  110. package/dist/lib/custom/MLModels/ml-model-view-models.js.map +1 -1
  111. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts +107 -10
  112. package/dist/lib/custom/MLModels/ps-model-detail.component.d.ts.map +1 -1
  113. package/dist/lib/custom/MLModels/ps-model-detail.component.js +291 -101
  114. package/dist/lib/custom/MLModels/ps-model-detail.component.js.map +1 -1
  115. package/dist/lib/custom/Queries/query-form.component.d.ts +201 -26
  116. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  117. package/dist/lib/custom/Queries/query-form.component.js +429 -109
  118. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  119. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +107 -14
  120. package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
  121. package/dist/lib/custom/Queries/query-run-dialog.component.js +249 -79
  122. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  123. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +110 -4
  124. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  125. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +858 -86
  126. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  127. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts +1 -1
  128. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +4 -4
  129. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  130. package/dist/lib/custom/SessionBridges/session-bridge-form.component.js.map +1 -1
  131. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts +77 -13
  132. package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
  133. package/dist/lib/custom/Templates/template-param-dialog.component.js +196 -78
  134. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  135. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +49 -7
  136. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  137. package/dist/lib/custom/Templates/template-params-grid.component.js +132 -44
  138. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  139. package/dist/lib/custom/Templates/templates-form.component.d.ts +142 -17
  140. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  141. package/dist/lib/custom/Templates/templates-form.component.js +333 -113
  142. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  143. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +24 -4
  144. package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
  145. package/dist/lib/custom/Tests/entity-link-pill.component.js +64 -20
  146. package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
  147. package/dist/lib/custom/Tests/test-form.component.d.ts +217 -27
  148. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  149. package/dist/lib/custom/Tests/test-form.component.js +549 -169
  150. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  151. package/dist/lib/custom/Tests/test-run-checks.d.ts +2 -0
  152. package/dist/lib/custom/Tests/test-run-checks.d.ts.map +1 -1
  153. package/dist/lib/custom/Tests/test-run-checks.js +5 -1
  154. package/dist/lib/custom/Tests/test-run-checks.js.map +1 -1
  155. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +2 -0
  156. package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
  157. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +5 -1
  158. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  159. package/dist/lib/custom/Tests/test-run-form.component.d.ts +146 -18
  160. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  161. package/dist/lib/custom/Tests/test-run-form.component.js +362 -106
  162. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  163. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +390 -47
  164. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  165. package/dist/lib/custom/Tests/test-suite-form.component.js +1015 -343
  166. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  167. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts +214 -26
  168. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  169. package/dist/lib/custom/Tests/test-suite-run-form.component.js +535 -159
  170. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  171. package/dist/lib/custom/Users/user-overview.panel.d.ts +1 -1
  172. package/dist/lib/custom/Users/user-overview.panel.js +2 -2
  173. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  174. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts +208 -29
  175. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.d.ts.map +1 -1
  176. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +446 -138
  177. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  178. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts +6 -0
  179. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.d.ts.map +1 -1
  180. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js +16 -4
  181. package/dist/lib/custom/ai-agent-run/ai-agent-run-cost.service.js.map +1 -1
  182. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts +50 -6
  183. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  184. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +84 -12
  185. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  186. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +89 -5
  187. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  188. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +216 -70
  189. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  190. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +62 -3
  191. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -1
  192. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +140 -42
  193. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
  194. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +81 -10
  195. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  196. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +165 -37
  197. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  198. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +140 -15
  199. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  200. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +326 -100
  201. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  202. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +101 -15
  203. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -1
  204. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +281 -97
  205. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -1
  206. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +43 -25
  207. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -1
  208. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +100 -64
  209. package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -1
  210. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +14 -2
  211. package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -1
  212. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +71 -53
  213. package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -1
  214. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +14 -2
  215. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -1
  216. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +70 -52
  217. package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -1
  218. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +8 -0
  219. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -1
  220. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +22 -6
  221. package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -1
  222. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +24 -2
  223. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -1
  224. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +91 -59
  225. package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -1
  226. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +10 -2
  227. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -1
  228. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +33 -17
  229. package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -1
  230. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts +2 -0
  231. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.d.ts.map +1 -1
  232. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js +34 -30
  233. package/dist/lib/custom/ai-agent-run/flow/run-tree-flow-projection.js.map +1 -1
  234. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +14 -2
  235. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -1
  236. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +69 -51
  237. package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -1
  238. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +38 -12
  239. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  240. package/dist/lib/custom/shared/entity-selector-dialog.component.js +103 -51
  241. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  242. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  243. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +59 -51
  244. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  245. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +76 -74
  246. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  247. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +27 -25
  248. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  249. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  250. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +155 -119
  251. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  252. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts +5 -1
  253. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -1
  254. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +11 -3
  255. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  256. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts +2 -0
  257. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.d.ts.map +1 -1
  258. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +16 -12
  259. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  260. package/dist/lib/panels/content-sources/website-crawler-settings.panel.d.ts +1 -1
  261. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +2 -2
  262. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  263. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +45 -19
  264. package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -1
  265. package/dist/lib/panels/model-predictions/model-prediction.logic.js +95 -43
  266. package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -1
  267. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +20 -16
  268. package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -1
  269. package/dist/lib/panels/model-predictions/model-prediction.panel.js +73 -65
  270. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  271. package/dist/lib/shared/components/template-editor.component.d.ts +133 -14
  272. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  273. package/dist/lib/shared/components/template-editor.component.js +322 -124
  274. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  275. package/package.json +43 -42
@@ -11,7 +11,7 @@ function EntitySelectorDialogComponent_Conditional_3_Template(rf, ctx) { if (rf
11
11
  i0.ɵɵelement(0, "i");
12
12
  } if (rf & 2) {
13
13
  const ctx_r0 = i0.ɵɵnextContext();
14
- i0.ɵɵclassMap(ctx_r0.config.icon);
14
+ i0.ɵɵclassMap(ctx_r0.config.Icon);
15
15
  } }
16
16
  function EntitySelectorDialogComponent_Conditional_10_Template(rf, ctx) { if (rf & 1) {
17
17
  i0.ɵɵelementStart(0, "div", 8);
@@ -22,7 +22,7 @@ function EntitySelectorDialogComponent_Conditional_10_Template(rf, ctx) { if (rf
22
22
  } if (rf & 2) {
23
23
  const ctx_r0 = i0.ɵɵnextContext();
24
24
  i0.ɵɵadvance(3);
25
- i0.ɵɵtextInterpolate1("Loading ", ctx_r0.config.entityName, "...");
25
+ i0.ɵɵtextInterpolate1("Loading ", ctx_r0.config.EntityName, "...");
26
26
  } }
27
27
  function EntitySelectorDialogComponent_Conditional_11_Conditional_1_Template(rf, ctx) { if (rf & 1) {
28
28
  i0.ɵɵelement(0, "mj-empty-state", 16);
@@ -38,7 +38,7 @@ function EntitySelectorDialogComponent_Conditional_11_Conditional_2_For_2_Condit
38
38
  const entity_r3 = i0.ɵɵnextContext().$implicit;
39
39
  const ctx_r0 = i0.ɵɵnextContext(3);
40
40
  i0.ɵɵadvance();
41
- i0.ɵɵtextInterpolate(entity_r3[ctx_r0.config.descriptionField]);
41
+ i0.ɵɵtextInterpolate(entity_r3[ctx_r0.config.DescriptionField]);
42
42
  } }
43
43
  function EntitySelectorDialogComponent_Conditional_11_Conditional_2_For_2_Conditional_7_Template(rf, ctx) { if (rf & 1) {
44
44
  i0.ɵɵelementStart(0, "div", 24)(1, "span", 25);
@@ -48,9 +48,9 @@ function EntitySelectorDialogComponent_Conditional_11_Conditional_2_For_2_Condit
48
48
  const entity_r3 = i0.ɵɵnextContext().$implicit;
49
49
  const ctx_r0 = i0.ɵɵnextContext(3);
50
50
  i0.ɵɵadvance();
51
- i0.ɵɵclassProp("active", entity_r3[ctx_r0.config.statusField] === "Active");
51
+ i0.ɵɵclassProp("active", entity_r3[ctx_r0.config.StatusField] === "Active");
52
52
  i0.ɵɵadvance();
53
- i0.ɵɵtextInterpolate1(" ", entity_r3[ctx_r0.config.statusField], " ");
53
+ i0.ɵɵtextInterpolate1(" ", entity_r3[ctx_r0.config.StatusField], " ");
54
54
  } }
55
55
  function EntitySelectorDialogComponent_Conditional_11_Conditional_2_For_2_Template(rf, ctx) { if (rf & 1) {
56
56
  const _r2 = i0.ɵɵgetCurrentView();
@@ -70,13 +70,13 @@ function EntitySelectorDialogComponent_Conditional_11_Conditional_2_For_2_Templa
70
70
  const ctx_r0 = i0.ɵɵnextContext(3);
71
71
  i0.ɵɵclassProp("selected", ctx_r0.IsEntitySelected(entity_r3));
72
72
  i0.ɵɵadvance(2);
73
- i0.ɵɵclassMap(ctx_r0.config.icon || "fa-solid fa-file");
73
+ i0.ɵɵclassMap(ctx_r0.config.Icon || "fa-solid fa-file");
74
74
  i0.ɵɵadvance(3);
75
- i0.ɵɵtextInterpolate(entity_r3[ctx_r0.config.displayField] || "Untitled");
75
+ i0.ɵɵtextInterpolate(entity_r3[ctx_r0.config.DisplayField] || "Untitled");
76
76
  i0.ɵɵadvance();
77
- i0.ɵɵconditional(ctx_r0.config.descriptionField && entity_r3[ctx_r0.config.descriptionField] ? 6 : -1);
77
+ i0.ɵɵconditional(ctx_r0.config.DescriptionField && entity_r3[ctx_r0.config.DescriptionField] ? 6 : -1);
78
78
  i0.ɵɵadvance();
79
- i0.ɵɵconditional(ctx_r0.config.statusField && entity_r3[ctx_r0.config.statusField] ? 7 : -1);
79
+ i0.ɵɵconditional(ctx_r0.config.StatusField && entity_r3[ctx_r0.config.StatusField] ? 7 : -1);
80
80
  } }
81
81
  function EntitySelectorDialogComponent_Conditional_11_Conditional_2_Template(rf, ctx) { if (rf & 1) {
82
82
  i0.ɵɵelementStart(0, "div", 17);
@@ -97,73 +97,125 @@ function EntitySelectorDialogComponent_Conditional_11_Template(rf, ctx) { if (rf
97
97
  i0.ɵɵconditional(ctx_r0.filteredEntities.length === 0 ? 1 : 2);
98
98
  } }
99
99
  export class EntitySelectorDialogComponent extends BaseAngularComponent {
100
+ /** @deprecated Use {@link Entities}. */
101
+ get entities() {
102
+ return this.Entities;
103
+ }
104
+ /** @deprecated Use {@link Entities}. */
105
+ set entities(value) {
106
+ this.Entities = value;
107
+ }
108
+ /** @deprecated Use {@link FilteredEntities}. */
109
+ get filteredEntities() {
110
+ return this.FilteredEntities;
111
+ }
112
+ /** @deprecated Use {@link FilteredEntities}. */
113
+ set filteredEntities(value) {
114
+ this.FilteredEntities = value;
115
+ }
116
+ /** @deprecated Use {@link SelectedEntity}. */
117
+ get selectedEntity() {
118
+ return this.SelectedEntity;
119
+ }
120
+ /** @deprecated Use {@link SelectedEntity}. */
121
+ set selectedEntity(value) {
122
+ this.SelectedEntity = value;
123
+ }
124
+ /** @deprecated Use {@link SearchText}. */
125
+ get searchText() {
126
+ return this.SearchText;
127
+ }
128
+ /** @deprecated Use {@link SearchText}. */
129
+ set searchText(value) {
130
+ this.SearchText = value;
131
+ }
100
132
  constructor(sharedService) {
101
133
  super();
102
134
  this.sharedService = sharedService;
103
- this.entities = [];
104
- this.filteredEntities = [];
105
- this.selectedEntity = null;
106
- this.searchText = '';
135
+ this.Entities = [];
136
+ this.FilteredEntities = [];
137
+ this.SelectedEntity = null;
138
+ this.SearchText = '';
107
139
  this.isLoading = true;
108
140
  this.DialogClosed = new EventEmitter();
109
141
  }
110
142
  /** Title for the empty/no-results placeholder, echoing the active search term when narrowed. */
111
143
  get EmptyStateTitle() {
112
- return this.searchText
113
- ? `No ${this.config.entityName} match "${this.searchText}"`
114
- : `No ${this.config.entityName} found`;
144
+ return this.SearchText
145
+ ? `No ${this.config.EntityName} match "${this.SearchText}"`
146
+ : `No ${this.config.EntityName} found`;
115
147
  }
116
148
  async ngOnInit() {
117
- await this.loadEntities();
149
+ await this.LoadEntities();
118
150
  }
119
- async loadEntities() {
151
+ async LoadEntities() {
120
152
  this.isLoading = true;
121
153
  try {
122
154
  const rv = RunView.FromMetadataProvider(this.ProviderToUse);
123
155
  const result = await rv.RunView({
124
- EntityName: this.config.entityName,
125
- ExtraFilter: this.config.filters,
126
- OrderBy: this.config.orderBy
156
+ EntityName: this.config.EntityName,
157
+ ExtraFilter: this.config.Filters,
158
+ OrderBy: this.config.OrderBy
127
159
  });
128
- this.entities = result.Results;
129
- this.filteredEntities = [...this.entities];
160
+ this.Entities = result.Results;
161
+ this.FilteredEntities = [...this.Entities];
130
162
  }
131
163
  catch (error) {
132
164
  console.error('Error loading entities:', error);
133
- this.entities = [];
134
- this.filteredEntities = [];
165
+ this.Entities = [];
166
+ this.FilteredEntities = [];
135
167
  }
136
168
  finally {
137
169
  this.isLoading = false;
138
170
  }
139
171
  }
140
- onSearchChange() {
141
- if (!this.searchText) {
142
- this.filteredEntities = [...this.entities];
172
+ /** @deprecated Use {@link LoadEntities}. */
173
+ async loadEntities() {
174
+ return this.LoadEntities();
175
+ }
176
+ OnSearchChange() {
177
+ if (!this.SearchText) {
178
+ this.FilteredEntities = [...this.Entities];
143
179
  }
144
180
  else {
145
- const searchLower = this.searchText.toLowerCase();
146
- this.filteredEntities = this.entities.filter(entity => {
147
- const displayValue = entity[this.config.displayField] || '';
148
- const descriptionValue = this.config.descriptionField ? (entity[this.config.descriptionField] || '') : '';
181
+ const searchLower = this.SearchText.toLowerCase();
182
+ this.FilteredEntities = this.Entities.filter(entity => {
183
+ const displayValue = entity[this.config.DisplayField] || '';
184
+ const descriptionValue = this.config.DescriptionField ? (entity[this.config.DescriptionField] || '') : '';
149
185
  return displayValue.toLowerCase().includes(searchLower) ||
150
186
  descriptionValue.toLowerCase().includes(searchLower);
151
187
  });
152
188
  }
153
189
  }
190
+ /** @deprecated Use {@link OnSearchChange}. */
191
+ onSearchChange() {
192
+ return this.OnSearchChange();
193
+ }
194
+ SelectEntity(entity) {
195
+ this.SelectedEntity = entity;
196
+ }
197
+ /** @deprecated Use {@link SelectEntity}. */
154
198
  selectEntity(entity) {
155
- this.selectedEntity = entity;
199
+ return this.SelectEntity(entity);
156
200
  }
157
- onSelect() {
158
- if (this.selectedEntity) {
159
- this.DialogClosed.emit({ entity: this.selectedEntity });
201
+ OnSelect() {
202
+ if (this.SelectedEntity) {
203
+ this.DialogClosed.emit({ entity: this.SelectedEntity });
160
204
  }
161
205
  }
162
- createNew() {
206
+ /** @deprecated Use {@link OnSelect}. */
207
+ onSelect() {
208
+ return this.OnSelect();
209
+ }
210
+ CreateNew() {
163
211
  this.DialogClosed.emit({ createNew: true });
164
212
  }
213
+ /** @deprecated Use {@link CreateNew}. */
214
+ createNew() {
215
+ return this.CreateNew();
216
+ }
165
217
  IsEntitySelected(entity) {
166
- return UUIDsEqual(this.selectedEntity?.ID, entity.ID);
218
+ return UUIDsEqual(this.SelectedEntity?.ID, entity.ID);
167
219
  }
168
220
  onCancel() {
169
221
  this.DialogClosed.emit(null);
@@ -198,9 +250,9 @@ export class EntitySelectorDialogComponent extends BaseAngularComponent {
198
250
  i0.ɵɵelementEnd()()();
199
251
  } if (rf & 2) {
200
252
  i0.ɵɵadvance(3);
201
- i0.ɵɵconditional(ctx.config.icon ? 3 : -1);
253
+ i0.ɵɵconditional(ctx.config.Icon ? 3 : -1);
202
254
  i0.ɵɵadvance();
203
- i0.ɵɵtextInterpolate1(" ", ctx.config.title);
255
+ i0.ɵɵtextInterpolate1(" ", ctx.config.Title);
204
256
  i0.ɵɵadvance(5);
205
257
  i0.ɵɵtwoWayProperty("ngModel", ctx.searchText);
206
258
  i0.ɵɵadvance();
@@ -216,9 +268,9 @@ export class EntitySelectorDialogComponent extends BaseAngularComponent {
216
268
  args: [{ standalone: false, selector: 'mj-entity-selector-dialog', template: `
217
269
  <div class="dialog-wrapper">
218
270
  <div class="dialog-header">
219
- <h3>@if (config.icon) {
220
- <i [class]="config.icon"></i>
221
- } {{ config.title }}</h3>
271
+ <h3>@if (config.Icon) {
272
+ <i [class]="config.Icon"></i>
273
+ } {{ config.Title }}</h3>
222
274
  </div>
223
275
  <div class="dialog-content">
224
276
  <!-- Search Bar -->
@@ -233,7 +285,7 @@ export class EntitySelectorDialogComponent extends BaseAngularComponent {
233
285
  @if (isLoading) {
234
286
  <div class="loading-state">
235
287
  <i class="fa-solid fa-spinner fa-spin"></i>
236
- <p>Loading {{ config.entityName }}...</p>
288
+ <p>Loading {{ config.EntityName }}...</p>
237
289
  </div>
238
290
  }
239
291
 
@@ -251,17 +303,17 @@ export class EntitySelectorDialogComponent extends BaseAngularComponent {
251
303
  [class.selected]="IsEntitySelected(entity)"
252
304
  (click)="selectEntity(entity)">
253
305
  <div class="item-icon">
254
- <i [class]="config.icon || 'fa-solid fa-file'"></i>
306
+ <i [class]="config.Icon || 'fa-solid fa-file'"></i>
255
307
  </div>
256
308
  <div class="item-content">
257
- <div class="item-title">{{ entity[config.displayField] || 'Untitled' }}</div>
258
- @if (config.descriptionField && entity[config.descriptionField]) {
259
- <div class="item-description">{{ entity[config.descriptionField] }}</div>
309
+ <div class="item-title">{{ entity[config.DisplayField] || 'Untitled' }}</div>
310
+ @if (config.DescriptionField && entity[config.DescriptionField]) {
311
+ <div class="item-description">{{ entity[config.DescriptionField] }}</div>
260
312
  }
261
- @if (config.statusField && entity[config.statusField]) {
313
+ @if (config.StatusField && entity[config.StatusField]) {
262
314
  <div class="item-status">
263
- <span class="status-badge" [class.active]="entity[config.statusField] === 'Active'">
264
- {{ entity[config.statusField] }}
315
+ <span class="status-badge" [class.active]="entity[config.StatusField] === 'Active'">
316
+ {{ entity[config.StatusField] }}
265
317
  </span>
266
318
  </div>
267
319
  }
@@ -1 +1 @@
1
- {"version":3,"file":"entity-selector-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/shared/entity-selector-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { RunView } from '@memberjunction/core';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface EntitySelectorConfig {\n entityName: string;\n title: string;\n displayField: string;\n descriptionField?: string;\n statusField?: string;\n filters?: string;\n orderBy?: string;\n icon?: string;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-entity-selector-dialog',\n template: `\n <div class=\"dialog-wrapper\">\n <div class=\"dialog-header\">\n <h3>@if (config.icon) {\n <i [class]=\"config.icon\"></i>\n } {{ config.title }}</h3>\n </div>\n <div class=\"dialog-content\">\n <!-- Search Bar -->\n <div class=\"search-bar\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input class=\"mj-input search-input\" [(ngModel)]=\"searchText\" placeholder=\"Search...\" (ngModelChange)=\"onSearchChange()\" />\n </div>\n </div>\n \n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <p>Loading {{ config.entityName }}...</p>\n </div>\n }\n\n <!-- Entity List -->\n @if (!isLoading) {\n <div class=\"entity-list-container\">\n @if (filteredEntities.length === 0) {\n <mj-empty-state class=\"empty-state\"\n [Variant]=\"searchText ? 'no-results' : 'empty'\"\n [Title]=\"EmptyStateTitle\" />\n } @else {\n <div class=\"entity-list\">\n @for (entity of filteredEntities; track entity.ID) {\n <div class=\"entity-item\"\n [class.selected]=\"IsEntitySelected(entity)\"\n (click)=\"selectEntity(entity)\">\n <div class=\"item-icon\">\n <i [class]=\"config.icon || 'fa-solid fa-file'\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ entity[config.displayField] || 'Untitled' }}</div>\n @if (config.descriptionField && entity[config.descriptionField]) {\n <div class=\"item-description\">{{ entity[config.descriptionField] }}</div>\n }\n @if (config.statusField && entity[config.statusField]) {\n <div class=\"item-status\">\n <span class=\"status-badge\" [class.active]=\"entity[config.statusField] === 'Active'\">\n {{ entity[config.statusField] }}\n </span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n <div class=\"dialog-actions\">\n <button mjButton variant=\"primary\" (click)=\"createNew()\">\n <i class=\"fa-solid fa-plus\"></i> Create New\n </button>\n <button mjButton (click)=\"onCancel()\">Cancel</button>\n <button mjButton variant=\"primary\" [disabled]=\"!selectedEntity\" (click)=\"onSelect()\">Select</button>\n </div>\n </div>\n `,\n styles: [`\n .dialog-wrapper {\n display: flex;\n flex-direction: column;\n height: 600px;\n width: 800px;\n }\n\n .dialog-header {\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .dialog-header h3 {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 16px;\n gap: 16px;\n overflow: hidden;\n }\n\n .dialog-actions {\n padding: 16px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n .search-bar {\n display: flex;\n gap: 12px;\n }\n\n .search-input-wrapper {\n flex: 1;\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-icon {\n position: absolute;\n left: 10px;\n color: var(--mj-text-muted);\n pointer-events: none;\n }\n\n .search-input {\n flex: 1;\n padding-left: 32px;\n }\n\n .loading-state {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n gap: 12px;\n }\n\n .loading-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n }\n\n mj-empty-state.empty-state {\n flex: 1;\n }\n\n .entity-list-container {\n flex: 1;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface-sunken);\n }\n\n .entity-list {\n padding: 8px;\n }\n\n .entity-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n margin-bottom: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .entity-item:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .item-icon {\n width: 36px;\n height: 36px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .item-icon i {\n color: var(--mj-brand-primary);\n font-size: 16px;\n }\n\n .item-content {\n flex: 1;\n min-width: 0;\n }\n\n .item-title {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n }\n\n .item-description {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .item-status {\n margin-top: 4px;\n }\n\n .status-badge {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n font-weight: 500;\n }\n\n .status-badge.active {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n }\n `]\n})\nexport class EntitySelectorDialogComponent extends BaseAngularComponent implements OnInit {\n @Input() config!: EntitySelectorConfig;\n\n public entities: any[] = [];\n public filteredEntities: any[] = [];\n public selectedEntity: any = null;\n public searchText: string = '';\n public isLoading: boolean = true;\n\n @Output() DialogClosed = new EventEmitter<Record<string, unknown> | null>();\n\n constructor(\n private sharedService: SharedService\n ) {\n super();}\n\n /** Title for the empty/no-results placeholder, echoing the active search term when narrowed. */\n public get EmptyStateTitle(): string {\n return this.searchText\n ? `No ${this.config.entityName} match \"${this.searchText}\"`\n : `No ${this.config.entityName} found`;\n }\n\n async ngOnInit() {\n await this.loadEntities();\n }\n\n async loadEntities() {\n this.isLoading = true;\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const result = await rv.RunView({\n EntityName: this.config.entityName,\n ExtraFilter: this.config.filters,\n OrderBy: this.config.orderBy \n });\n\n this.entities = result.Results;\n this.filteredEntities = [...this.entities];\n } catch (error) {\n console.error('Error loading entities:', error);\n this.entities = [];\n this.filteredEntities = [];\n } finally {\n this.isLoading = false;\n }\n }\n\n onSearchChange() {\n if (!this.searchText) {\n this.filteredEntities = [...this.entities];\n } else {\n const searchLower = this.searchText.toLowerCase();\n this.filteredEntities = this.entities.filter(entity => {\n const displayValue = entity[this.config.displayField] || '';\n const descriptionValue = this.config.descriptionField ? (entity[this.config.descriptionField] || '') : '';\n return displayValue.toLowerCase().includes(searchLower) || \n descriptionValue.toLowerCase().includes(searchLower);\n });\n }\n }\n\n selectEntity(entity: any) {\n this.selectedEntity = entity;\n }\n\n onSelect() {\n if (this.selectedEntity) {\n this.DialogClosed.emit({ entity: this.selectedEntity });\n }\n }\n\n createNew() {\n this.DialogClosed.emit({ createNew: true });\n }\n\n IsEntitySelected(entity: Record<string, unknown>): boolean {\n return UUIDsEqual(this.selectedEntity?.ID, entity.ID as string);\n }\n\n onCancel() {\n this.DialogClosed.emit(null);\n }\n}"]}
1
+ {"version":3,"file":"entity-selector-dialog.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/shared/entity-selector-dialog.component.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\nimport { SharedService } from '@memberjunction/ng-shared';\nimport { RunView } from '@memberjunction/core';\nimport { UUIDsEqual } from '@memberjunction/global';\n\nimport { BaseAngularComponent } from '@memberjunction/ng-base-types';\nexport interface EntitySelectorConfig {\n EntityName: string;\n Title: string;\n DisplayField: string;\n DescriptionField?: string;\n StatusField?: string;\n Filters?: string;\n OrderBy?: string;\n Icon?: string;\n}\n\n@Component({\n standalone: false,\n selector: 'mj-entity-selector-dialog',\n template: `\n <div class=\"dialog-wrapper\">\n <div class=\"dialog-header\">\n <h3>@if (config.Icon) {\n <i [class]=\"config.Icon\"></i>\n } {{ config.Title }}</h3>\n </div>\n <div class=\"dialog-content\">\n <!-- Search Bar -->\n <div class=\"search-bar\">\n <div class=\"search-input-wrapper\">\n <i class=\"fa-solid fa-search search-icon\"></i>\n <input class=\"mj-input search-input\" [(ngModel)]=\"searchText\" placeholder=\"Search...\" (ngModelChange)=\"onSearchChange()\" />\n </div>\n </div>\n \n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-state\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <p>Loading {{ config.EntityName }}...</p>\n </div>\n }\n\n <!-- Entity List -->\n @if (!isLoading) {\n <div class=\"entity-list-container\">\n @if (filteredEntities.length === 0) {\n <mj-empty-state class=\"empty-state\"\n [Variant]=\"searchText ? 'no-results' : 'empty'\"\n [Title]=\"EmptyStateTitle\" />\n } @else {\n <div class=\"entity-list\">\n @for (entity of filteredEntities; track entity.ID) {\n <div class=\"entity-item\"\n [class.selected]=\"IsEntitySelected(entity)\"\n (click)=\"selectEntity(entity)\">\n <div class=\"item-icon\">\n <i [class]=\"config.Icon || 'fa-solid fa-file'\"></i>\n </div>\n <div class=\"item-content\">\n <div class=\"item-title\">{{ entity[config.DisplayField] || 'Untitled' }}</div>\n @if (config.DescriptionField && entity[config.DescriptionField]) {\n <div class=\"item-description\">{{ entity[config.DescriptionField] }}</div>\n }\n @if (config.StatusField && entity[config.StatusField]) {\n <div class=\"item-status\">\n <span class=\"status-badge\" [class.active]=\"entity[config.StatusField] === 'Active'\">\n {{ entity[config.StatusField] }}\n </span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n <div class=\"dialog-actions\">\n <button mjButton variant=\"primary\" (click)=\"createNew()\">\n <i class=\"fa-solid fa-plus\"></i> Create New\n </button>\n <button mjButton (click)=\"onCancel()\">Cancel</button>\n <button mjButton variant=\"primary\" [disabled]=\"!selectedEntity\" (click)=\"onSelect()\">Select</button>\n </div>\n </div>\n `,\n styles: [`\n .dialog-wrapper {\n display: flex;\n flex-direction: column;\n height: 600px;\n width: 800px;\n }\n\n .dialog-header {\n padding: 16px;\n border-bottom: 1px solid var(--mj-border-default);\n }\n\n .dialog-header h3 {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n }\n\n .dialog-content {\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 16px;\n gap: 16px;\n overflow: hidden;\n }\n\n .dialog-actions {\n padding: 16px;\n border-top: 1px solid var(--mj-border-default);\n display: flex;\n gap: 8px;\n justify-content: flex-end;\n }\n\n .search-bar {\n display: flex;\n gap: 12px;\n }\n\n .search-input-wrapper {\n flex: 1;\n position: relative;\n display: flex;\n align-items: center;\n }\n\n .search-icon {\n position: absolute;\n left: 10px;\n color: var(--mj-text-muted);\n pointer-events: none;\n }\n\n .search-input {\n flex: 1;\n padding-left: 32px;\n }\n\n .loading-state {\n flex: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-muted);\n gap: 12px;\n }\n\n .loading-state i {\n font-size: 48px;\n color: var(--mj-border-default);\n }\n\n mj-empty-state.empty-state {\n flex: 1;\n }\n\n .entity-list-container {\n flex: 1;\n overflow-y: auto;\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n background: var(--mj-bg-surface-sunken);\n }\n\n .entity-list {\n padding: 8px;\n }\n\n .entity-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px;\n margin-bottom: 8px;\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 8px;\n cursor: pointer;\n transition: all 0.2s ease;\n }\n\n .entity-item:hover {\n border-color: var(--mj-brand-primary);\n box-shadow: var(--mj-shadow-md);\n }\n\n .entity-item.selected {\n background: color-mix(in srgb, var(--mj-brand-primary) 10%, var(--mj-bg-surface));\n border-color: var(--mj-brand-primary);\n }\n\n .item-icon {\n width: 36px;\n height: 36px;\n background: var(--mj-bg-surface-sunken);\n border-radius: 8px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n }\n\n .item-icon i {\n color: var(--mj-brand-primary);\n font-size: 16px;\n }\n\n .item-content {\n flex: 1;\n min-width: 0;\n }\n\n .item-title {\n font-weight: 600;\n color: var(--mj-text-primary);\n margin-bottom: 4px;\n }\n\n .item-description {\n font-size: 13px;\n color: var(--mj-text-muted);\n line-height: 1.4;\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n }\n\n .item-status {\n margin-top: 4px;\n }\n\n .status-badge {\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 12px;\n background: var(--mj-bg-surface-sunken);\n color: var(--mj-text-secondary);\n font-weight: 500;\n }\n\n .status-badge.active {\n background: var(--mj-status-success-bg);\n color: var(--mj-status-success-text);\n }\n `]\n})\nexport class EntitySelectorDialogComponent extends BaseAngularComponent implements OnInit {\n @Input() config!: EntitySelectorConfig;\n\n public Entities: any[] = [];\n\n /** @deprecated Use {@link Entities}. */\n public get entities(): any[] {\n return this.Entities;\n }\n /** @deprecated Use {@link Entities}. */\n public set entities(value: any[]) {\n this.Entities = value;\n }\n public FilteredEntities: any[] = [];\n\n /** @deprecated Use {@link FilteredEntities}. */\n public get filteredEntities(): any[] {\n return this.FilteredEntities;\n }\n /** @deprecated Use {@link FilteredEntities}. */\n public set filteredEntities(value: any[]) {\n this.FilteredEntities = value;\n }\n public SelectedEntity: any = null;\n\n /** @deprecated Use {@link SelectedEntity}. */\n public get selectedEntity(): any {\n return this.SelectedEntity;\n }\n /** @deprecated Use {@link SelectedEntity}. */\n public set selectedEntity(value: any) {\n this.SelectedEntity = value;\n }\n public SearchText: string = '';\n\n /** @deprecated Use {@link SearchText}. */\n public get searchText(): string {\n return this.SearchText;\n }\n /** @deprecated Use {@link SearchText}. */\n public set searchText(value: string) {\n this.SearchText = value;\n }\n public isLoading: boolean = true;\n\n @Output() DialogClosed = new EventEmitter<Record<string, unknown> | null>();\n\n constructor(\n private sharedService: SharedService\n ) {\n super();}\n\n /** Title for the empty/no-results placeholder, echoing the active search term when narrowed. */\n public get EmptyStateTitle(): string {\n return this.SearchText\n ? `No ${this.config.EntityName} match \"${this.SearchText}\"`\n : `No ${this.config.EntityName} found`;\n }\n\n async ngOnInit() {\n await this.LoadEntities();\n }\n\n async LoadEntities() {\n this.isLoading = true;\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const result = await rv.RunView({\n EntityName: this.config.EntityName,\n ExtraFilter: this.config.Filters,\n OrderBy: this.config.OrderBy \n });\n\n this.Entities = result.Results;\n this.FilteredEntities = [...this.Entities];\n } catch (error) {\n console.error('Error loading entities:', error);\n this.Entities = [];\n this.FilteredEntities = [];\n } finally {\n this.isLoading = false;\n }\n }\n\n /** @deprecated Use {@link LoadEntities}. */\n async loadEntities() {\n return this.LoadEntities();\n }\n\n OnSearchChange() {\n if (!this.SearchText) {\n this.FilteredEntities = [...this.Entities];\n } else {\n const searchLower = this.SearchText.toLowerCase();\n this.FilteredEntities = this.Entities.filter(entity => {\n const displayValue = entity[this.config.DisplayField] || '';\n const descriptionValue = this.config.DescriptionField ? (entity[this.config.DescriptionField] || '') : '';\n return displayValue.toLowerCase().includes(searchLower) || \n descriptionValue.toLowerCase().includes(searchLower);\n });\n }\n }\n\n /** @deprecated Use {@link OnSearchChange}. */\n onSearchChange() {\n return this.OnSearchChange();\n }\n\n SelectEntity(entity: any) {\n this.SelectedEntity = entity;\n }\n\n /** @deprecated Use {@link SelectEntity}. */\n selectEntity(entity: any) {\n return this.SelectEntity(entity);\n }\n\n OnSelect() {\n if (this.SelectedEntity) {\n this.DialogClosed.emit({ entity: this.SelectedEntity });\n }\n }\n\n /** @deprecated Use {@link OnSelect}. */\n onSelect() {\n return this.OnSelect();\n }\n\n CreateNew() {\n this.DialogClosed.emit({ createNew: true });\n }\n\n /** @deprecated Use {@link CreateNew}. */\n createNew() {\n return this.CreateNew();\n }\n\n IsEntitySelected(entity: Record<string, unknown>): boolean {\n return UUIDsEqual(this.SelectedEntity?.ID, entity.ID as string);\n }\n\n onCancel() {\n this.DialogClosed.emit(null);\n }\n}"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mjaipromptrun.form.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;;AAGlE,qBAMa,0BAA2B,SAAQ,iBAAiB;IACtD,MAAM,EAAG,mBAAmB,CAAC;IAErB,QAAQ;yCAHd,0BAA0B;2CAA1B,0BAA0B;CAuBtC"}
1
+ {"version":3,"file":"mjaipromptrun.form.component.d.ts","sourceRoot":"","sources":["../../../../../src/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;;AAGlE,qBAMa,0BAA2B,SAAQ,iBAAiB;IACtD,MAAM,EAAG,mBAAmB,CAAC;IAErB,QAAQ;yCAHd,0BAA0B;2CAA1B,0BAA0B;CAwBtC"}