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

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 (372) hide show
  1. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts.map +1 -1
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js +9 -5
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js.map +1 -1
  4. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +4 -0
  5. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts.map +1 -1
  6. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +67 -36
  7. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
  8. package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts +1 -0
  9. package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts.map +1 -1
  10. package/dist/lib/custom/AIAgents/agent-form-tabs.js +2 -0
  11. package/dist/lib/custom/AIAgents/agent-form-tabs.js.map +1 -1
  12. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +529 -521
  14. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  15. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  16. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +1 -0
  17. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  18. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  19. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +10 -16
  20. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  21. package/dist/lib/custom/AIPrompts/pending-records.d.ts +11 -0
  22. package/dist/lib/custom/AIPrompts/pending-records.d.ts.map +1 -0
  23. package/dist/lib/custom/AIPrompts/pending-records.js +21 -0
  24. package/dist/lib/custom/AIPrompts/pending-records.js.map +1 -0
  25. package/dist/lib/custom/Companies/company-header.panel.d.ts.map +1 -1
  26. package/dist/lib/custom/Companies/company-header.panel.js +9 -5
  27. package/dist/lib/custom/Companies/company-header.panel.js.map +1 -1
  28. package/dist/lib/custom/Companies/company-overview.panel.d.ts +4 -0
  29. package/dist/lib/custom/Companies/company-overview.panel.d.ts.map +1 -1
  30. package/dist/lib/custom/Companies/company-overview.panel.js +68 -37
  31. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
  32. package/dist/lib/custom/Conversations/conversation-header.panel.d.ts.map +1 -1
  33. package/dist/lib/custom/Conversations/conversation-header.panel.js +9 -5
  34. package/dist/lib/custom/Conversations/conversation-header.panel.js.map +1 -1
  35. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +10 -2
  36. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -1
  37. package/dist/lib/custom/Conversations/conversation-overview.panel.js +138 -76
  38. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
  39. package/dist/lib/custom/Employees/employee-header.panel.d.ts.map +1 -1
  40. package/dist/lib/custom/Employees/employee-header.panel.js +9 -5
  41. package/dist/lib/custom/Employees/employee-header.panel.js.map +1 -1
  42. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +4 -0
  43. package/dist/lib/custom/Employees/employee-overview.panel.d.ts.map +1 -1
  44. package/dist/lib/custom/Employees/employee-overview.panel.js +68 -37
  45. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
  46. package/dist/lib/custom/Entities/entity-form.component.d.ts +8 -1
  47. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  48. package/dist/lib/custom/Entities/entity-form.component.js +241 -147
  49. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  50. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts.map +1 -1
  51. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js +60 -45
  52. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js.map +1 -1
  53. package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
  54. package/dist/lib/custom/Lists/list-form.component.js +1 -0
  55. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  56. package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
  57. package/dist/lib/custom/Queries/query-form.component.js +1 -0
  58. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  59. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +19 -0
  60. package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
  61. package/dist/lib/custom/RecordProcesses/record-process-form.component.js +50 -8
  62. package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
  63. package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts +37 -0
  64. package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts.map +1 -0
  65. package/dist/lib/custom/Rubrics/evaluation-form.component.js +399 -0
  66. package/dist/lib/custom/Rubrics/evaluation-form.component.js.map +1 -0
  67. package/dist/lib/custom/Rubrics/record-forms.component.d.ts +69 -0
  68. package/dist/lib/custom/Rubrics/record-forms.component.d.ts.map +1 -0
  69. package/dist/lib/custom/Rubrics/record-forms.component.js +587 -0
  70. package/dist/lib/custom/Rubrics/record-forms.component.js.map +1 -0
  71. package/dist/lib/custom/Rubrics/rubric-form.component.d.ts +67 -0
  72. package/dist/lib/custom/Rubrics/rubric-form.component.d.ts.map +1 -0
  73. package/dist/lib/custom/Rubrics/rubric-form.component.js +534 -0
  74. package/dist/lib/custom/Rubrics/rubric-form.component.js.map +1 -0
  75. package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts +25 -0
  76. package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts.map +1 -0
  77. package/dist/lib/custom/Rubrics/rubric-form.panels.js +299 -0
  78. package/dist/lib/custom/Rubrics/rubric-form.panels.js.map +1 -0
  79. package/dist/lib/custom/Rubrics/scale-form.component.d.ts +31 -0
  80. package/dist/lib/custom/Rubrics/scale-form.component.d.ts.map +1 -0
  81. package/dist/lib/custom/Rubrics/scale-form.component.js +395 -0
  82. package/dist/lib/custom/Rubrics/scale-form.component.js.map +1 -0
  83. package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts.map +1 -1
  84. package/dist/lib/custom/SearchScopes/searchscope-form.component.js +1 -0
  85. package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
  86. package/dist/lib/custom/Templates/templates-form.component.d.ts +13 -4
  87. package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
  88. package/dist/lib/custom/Templates/templates-form.component.js +111 -113
  89. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  90. package/dist/lib/custom/Tests/test-form.component.d.ts +6 -0
  91. package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
  92. package/dist/lib/custom/Tests/test-form.component.js +403 -361
  93. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  94. package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
  95. package/dist/lib/custom/Tests/test-run-form.component.js +1 -0
  96. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  97. package/dist/lib/custom/Tests/test-suite-form.component.d.ts +5 -0
  98. package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
  99. package/dist/lib/custom/Tests/test-suite-form.component.js +705 -664
  100. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  101. package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
  102. package/dist/lib/custom/Tests/test-suite-run-form.component.js +1 -0
  103. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  104. package/dist/lib/custom/Users/user-header.panel.d.ts.map +1 -1
  105. package/dist/lib/custom/Users/user-header.panel.js +9 -5
  106. package/dist/lib/custom/Users/user-header.panel.js.map +1 -1
  107. package/dist/lib/custom/Users/user-overview.panel.d.ts +4 -0
  108. package/dist/lib/custom/Users/user-overview.panel.d.ts.map +1 -1
  109. package/dist/lib/custom/Users/user-overview.panel.js +65 -34
  110. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
  111. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  112. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +1 -0
  113. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  114. package/dist/lib/custom/custom-forms.module.d.ts +56 -48
  115. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  116. package/dist/lib/custom/custom-forms.module.js +60 -0
  117. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  118. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
  119. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +115 -43
  120. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  121. package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.d.ts.map +1 -1
  122. package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js +5 -9
  123. package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js.map +1 -1
  124. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.d.ts.map +1 -1
  125. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +15 -18
  126. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
  127. package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.d.ts.map +1 -1
  128. package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js +5 -9
  129. package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js.map +1 -1
  130. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts +10 -0
  131. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts.map +1 -0
  132. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js +74 -0
  133. package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js.map +1 -0
  134. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
  135. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +37 -19
  136. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
  137. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.d.ts.map +1 -1
  138. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +27 -9
  139. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
  140. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js +17 -15
  141. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js.map +1 -1
  142. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.d.ts.map +1 -1
  143. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js +25 -7
  144. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js.map +1 -1
  145. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
  146. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +31 -13
  147. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  148. package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js +12 -14
  149. package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js.map +1 -1
  150. package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.d.ts.map +1 -1
  151. package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js +5 -9
  152. package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js.map +1 -1
  153. package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.d.ts.map +1 -1
  154. package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js +5 -9
  155. package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js.map +1 -1
  156. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.d.ts.map +1 -1
  157. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +26 -8
  158. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
  159. package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.d.ts.map +1 -1
  160. package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js +4 -7
  161. package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js.map +1 -1
  162. package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.d.ts.map +1 -1
  163. package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js +4 -7
  164. package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js.map +1 -1
  165. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.d.ts.map +1 -1
  166. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +31 -13
  167. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
  168. package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.d.ts.map +1 -1
  169. package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.js +5 -9
  170. package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.js.map +1 -1
  171. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
  172. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +34 -16
  173. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  174. package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.d.ts.map +1 -1
  175. package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.js +5 -9
  176. package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.js.map +1 -1
  177. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  178. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +210 -84
  179. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  180. package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.d.ts.map +1 -1
  181. package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js +8 -11
  182. package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js.map +1 -1
  183. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.d.ts.map +1 -1
  184. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +15 -18
  185. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
  186. package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.d.ts +10 -0
  187. package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.d.ts.map +1 -0
  188. package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.js +148 -0
  189. package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.js.map +1 -0
  190. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.d.ts.map +1 -1
  191. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +53 -56
  192. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
  193. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts +10 -0
  194. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts.map +1 -0
  195. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js +62 -0
  196. package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js.map +1 -0
  197. package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.d.ts +10 -0
  198. package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.d.ts.map +1 -0
  199. package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.js +161 -0
  200. package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.js.map +1 -0
  201. package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.d.ts +10 -0
  202. package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.d.ts.map +1 -0
  203. package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.js +78 -0
  204. package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.js.map +1 -0
  205. package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.d.ts +10 -0
  206. package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.d.ts.map +1 -0
  207. package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.js +68 -0
  208. package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.js.map +1 -0
  209. package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.d.ts +10 -0
  210. package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.d.ts.map +1 -0
  211. package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.js +100 -0
  212. package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.js.map +1 -0
  213. package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.d.ts +10 -0
  214. package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.d.ts.map +1 -0
  215. package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.js +119 -0
  216. package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.js.map +1 -0
  217. package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.d.ts +10 -0
  218. package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.d.ts.map +1 -0
  219. package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.js +92 -0
  220. package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.js.map +1 -0
  221. package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.d.ts +10 -0
  222. package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.d.ts.map +1 -0
  223. package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.js +87 -0
  224. package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.js.map +1 -0
  225. package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.d.ts +10 -0
  226. package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.d.ts.map +1 -0
  227. package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.js +129 -0
  228. package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.js.map +1 -0
  229. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
  230. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +24 -6
  231. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  232. package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.d.ts.map +1 -1
  233. package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js +5 -9
  234. package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js.map +1 -1
  235. package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.d.ts.map +1 -1
  236. package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js +8 -11
  237. package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js.map +1 -1
  238. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.d.ts.map +1 -1
  239. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +24 -16
  240. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
  241. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts +10 -0
  242. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts.map +1 -0
  243. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js +107 -0
  244. package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js.map +1 -0
  245. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts +10 -0
  246. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts.map +1 -0
  247. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js +74 -0
  248. package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js.map +1 -0
  249. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.d.ts.map +1 -1
  250. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +36 -40
  251. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
  252. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.d.ts.map +1 -1
  253. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +39 -21
  254. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
  255. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.d.ts.map +1 -1
  256. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +45 -48
  257. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
  258. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts +10 -0
  259. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts.map +1 -0
  260. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js +135 -0
  261. package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js.map +1 -0
  262. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts +10 -0
  263. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts.map +1 -0
  264. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js +87 -0
  265. package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js.map +1 -0
  266. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts +10 -0
  267. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts.map +1 -0
  268. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js +107 -0
  269. package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js.map +1 -0
  270. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts +10 -0
  271. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts.map +1 -0
  272. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js +155 -0
  273. package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js.map +1 -0
  274. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts +10 -0
  275. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts.map +1 -0
  276. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js +62 -0
  277. package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js.map +1 -0
  278. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts +10 -0
  279. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts.map +1 -0
  280. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js +183 -0
  281. package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js.map +1 -0
  282. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts +10 -0
  283. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts.map +1 -0
  284. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js +120 -0
  285. package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js.map +1 -0
  286. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts +10 -0
  287. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts.map +1 -0
  288. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js +107 -0
  289. package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js.map +1 -0
  290. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts +10 -0
  291. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts.map +1 -0
  292. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js +103 -0
  293. package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js.map +1 -0
  294. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts +10 -0
  295. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts.map +1 -0
  296. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js +171 -0
  297. package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js.map +1 -0
  298. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.d.ts.map +1 -1
  299. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +15 -18
  300. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
  301. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.d.ts.map +1 -1
  302. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +24 -16
  303. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
  304. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +27 -25
  305. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
  306. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.d.ts.map +1 -1
  307. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +19 -11
  308. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
  309. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  310. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +299 -119
  311. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  312. package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.d.ts.map +1 -1
  313. package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js +5 -9
  314. package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js.map +1 -1
  315. package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.d.ts +10 -0
  316. package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.d.ts.map +1 -0
  317. package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.js +64 -0
  318. package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.js.map +1 -0
  319. package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.d.ts +10 -0
  320. package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.d.ts.map +1 -0
  321. package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.js +94 -0
  322. package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.js.map +1 -0
  323. package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.d.ts +10 -0
  324. package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.d.ts.map +1 -0
  325. package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.js +91 -0
  326. package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.js.map +1 -0
  327. package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.d.ts +10 -0
  328. package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.d.ts.map +1 -0
  329. package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.js +105 -0
  330. package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.js.map +1 -0
  331. package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.d.ts +10 -0
  332. package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.d.ts.map +1 -0
  333. package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.js +129 -0
  334. package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.js.map +1 -0
  335. package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.d.ts +10 -0
  336. package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.d.ts.map +1 -0
  337. package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.js +85 -0
  338. package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.js.map +1 -0
  339. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.d.ts.map +1 -1
  340. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +17 -20
  341. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
  342. package/dist/lib/generated/generated-forms.module.d.ts +451 -422
  343. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  344. package/dist/lib/generated/generated-forms.module.js +101 -14
  345. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  346. package/dist/lib/panels/ai-agents/agent-realtime.panel.d.ts +7 -1
  347. package/dist/lib/panels/ai-agents/agent-realtime.panel.d.ts.map +1 -1
  348. package/dist/lib/panels/ai-agents/agent-realtime.panel.js +89 -43
  349. package/dist/lib/panels/ai-agents/agent-realtime.panel.js.map +1 -1
  350. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +3 -3
  351. package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
  352. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +5 -5
  353. package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
  354. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +4 -4
  355. package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
  356. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js +3 -3
  357. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js.map +1 -1
  358. package/dist/lib/panels/model-predictions/model-prediction.panel.js +4 -4
  359. package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
  360. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts +116 -0
  361. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts.map +1 -0
  362. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js +820 -0
  363. package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js.map +1 -0
  364. package/dist/lib/shared/components/template-editor.component.d.ts +25 -1
  365. package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
  366. package/dist/lib/shared/components/template-editor.component.js +67 -3
  367. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  368. package/dist/public-api.d.ts +5 -0
  369. package/dist/public-api.d.ts.map +1 -1
  370. package/dist/public-api.js +5 -0
  371. package/dist/public-api.js.map +1 -1
  372. package/package.json +47 -43
@@ -1 +1 @@
1
- {"version":3,"file":"templates-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/Templates/templates-form.component.ts","../../../../src/lib/custom/Templates/templates-form.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit, ChangeDetectorRef, inject } from '@angular/core';\nimport { MJTemplateEntity, MJTemplateContentEntity, MJTemplateCategoryEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent, CUSTOM_LAYOUT_TOOLBAR_CONFIG } from '@memberjunction/ng-base-forms';\nimport { MJTemplateFormComponent } from '../../generated/Entities/MJTemplate/mjtemplate.form.component';\nimport { Metadata, RunView } from '@memberjunction/core';\nimport { GraphQLDataProvider } from '@memberjunction/graphql-dataprovider';\nimport { TemplateEngineBase } from '@memberjunction/templates-base-types';\nimport { Subject } from 'rxjs';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { LanguageDescription } from '@codemirror/language';\nimport { languages } from '@codemirror/language-data';\nimport { CodeEditorComponent } from '@memberjunction/ng-code-editor';\nimport { MJConfirmService } from '@memberjunction/ng-ui-components';\nimport { TemplateEditorConfig } from '../../shared/components/template-editor.component';\n\n@RegisterClass(BaseFormComponent, 'MJ: Templates') \n@Component({\n standalone: false,\n selector: 'mj-templates-form',\n templateUrl: './templates-form.component.html',\n styleUrls: ['../../../shared/form-styles.css', './templates-form.component.css']\n})\nexport class MJTemplateFormComponentExtended extends MJTemplateFormComponent implements OnInit, OnDestroy, AfterViewInit {\n public record!: MJTemplateEntity;\n public readonly ToolbarConfig = CUSTOM_LAYOUT_TOOLBAR_CONFIG;\n\n /** @deprecated Use {@link ToolbarConfig}. */\n public get toolbarConfig() {\n return this.ToolbarConfig;\n }\n\n /** Custom-layout Template form looks best full-width on first open. */\n public override getDefaultFormWidthMode(): 'centered' | 'full-width' { return 'full-width'; }\n public TemplateContents: MJTemplateContentEntity[] = [];\n\n /** @deprecated Use {@link TemplateContents}. */\n public get templateContents(): MJTemplateContentEntity[] {\n return this.TemplateContents;\n }\n /** @deprecated Use {@link TemplateContents}. */\n public set templateContents(value: MJTemplateContentEntity[]) {\n this.TemplateContents = value;\n }\n public SelectedContentIndex: number = 0;\n\n /** @deprecated Use {@link SelectedContentIndex}. */\n public get selectedContentIndex(): number {\n return this.SelectedContentIndex;\n }\n /** @deprecated Use {@link SelectedContentIndex}. */\n public set selectedContentIndex(value: number) {\n this.SelectedContentIndex = value;\n }\n public IsAddingNewContent: boolean = false;\n\n /** @deprecated Use {@link IsAddingNewContent}. */\n public get isAddingNewContent(): boolean {\n return this.IsAddingNewContent;\n }\n /** @deprecated Use {@link IsAddingNewContent}. */\n public set isAddingNewContent(value: boolean) {\n this.IsAddingNewContent = value;\n }\n public NewTemplateContent: MJTemplateContentEntity | null = null;\n\n /** @deprecated Use {@link NewTemplateContent}. */\n public get newTemplateContent(): MJTemplateContentEntity | null {\n return this.NewTemplateContent;\n }\n /** @deprecated Use {@link NewTemplateContent}. */\n public set newTemplateContent(value: MJTemplateContentEntity | null) {\n this.NewTemplateContent = value;\n }\n public HasUnsavedChanges: boolean = false;\n\n /** @deprecated Use {@link HasUnsavedChanges}. */\n public get hasUnsavedChanges(): boolean {\n return this.HasUnsavedChanges;\n }\n /** @deprecated Use {@link HasUnsavedChanges}. */\n public set hasUnsavedChanges(value: boolean) {\n this.HasUnsavedChanges = value;\n }\n public TemplateInfoExpanded: boolean = true;\n\n /** @deprecated Use {@link TemplateInfoExpanded}. */\n public get templateInfoExpanded(): boolean {\n return this.TemplateInfoExpanded;\n }\n /** @deprecated Use {@link TemplateInfoExpanded}. */\n public set templateInfoExpanded(value: boolean) {\n this.TemplateInfoExpanded = value;\n }\n public TemplateContentsExpanded: boolean = true;\n\n /** @deprecated Use {@link TemplateContentsExpanded}. */\n public get templateContentsExpanded(): boolean {\n return this.TemplateContentsExpanded;\n }\n /** @deprecated Use {@link TemplateContentsExpanded}. */\n public set templateContentsExpanded(value: boolean) {\n this.TemplateContentsExpanded = value;\n }\n public CategoryOptions: Array<{text: string, value: string}> = [\n { text: 'Select Category...', value: '' },\n // TODO: Load from database\n ];\n\n /** @deprecated Use {@link CategoryOptions}. */\n public get categoryOptions(): Array<{text: string, value: string}> {\n return this.CategoryOptions;\n }\n /** @deprecated Use {@link CategoryOptions}. */\n public set categoryOptions(value: Array<{text: string, value: string}>) {\n this.CategoryOptions = value;\n }\n public ContentTypeOptions: Array<{text: string, value: string}> = [];\n\n /** @deprecated Use {@link ContentTypeOptions}. */\n public get contentTypeOptions(): Array<{text: string, value: string}> {\n return this.ContentTypeOptions;\n }\n /** @deprecated Use {@link ContentTypeOptions}. */\n public set contentTypeOptions(value: Array<{text: string, value: string}>) {\n this.ContentTypeOptions = value;\n }\n public SupportedLanguages: LanguageDescription[] = languages;\n\n /** @deprecated Use {@link SupportedLanguages}. */\n public get supportedLanguages(): LanguageDescription[] {\n return this.SupportedLanguages;\n }\n /** @deprecated Use {@link SupportedLanguages}. */\n public set supportedLanguages(value: LanguageDescription[]) {\n this.SupportedLanguages = value;\n }\n \n @ViewChild('codeEditor') CodeEditor: CodeEditorComponent | null = null;\n\n /** @deprecated Use {@link CodeEditor}. */\n get codeEditor(): CodeEditorComponent | null {\n return this.CodeEditor;\n }\n /** @deprecated Use {@link CodeEditor}. */\n set codeEditor(value: CodeEditorComponent | null) {\n this.CodeEditor = value;\n }\n private isUpdatingEditorValue = false;\n public IsRunningTemplate = false;\n\n /** @deprecated Use {@link IsRunningTemplate}. */\n public get isRunningTemplate() {\n return this.IsRunningTemplate;\n }\n /** @deprecated Use {@link IsRunningTemplate}. */\n public set isRunningTemplate(value) {\n this.IsRunningTemplate = value;\n }\n public TemplateTestResult: string | null = null;\n\n /** @deprecated Use {@link TemplateTestResult}. */\n public get templateTestResult(): string | null {\n return this.TemplateTestResult;\n }\n /** @deprecated Use {@link TemplateTestResult}. */\n public set templateTestResult(value: string | null) {\n this.TemplateTestResult = value;\n }\n public TemplateTestError: string | null = null;\n\n /** @deprecated Use {@link TemplateTestError}. */\n public get templateTestError(): string | null {\n return this.TemplateTestError;\n }\n /** @deprecated Use {@link TemplateTestError}. */\n public set templateTestError(value: string | null) {\n this.TemplateTestError = value;\n }\n public ShowParamDialog = false;\n\n /** @deprecated Use {@link ShowParamDialog}. */\n public get showParamDialog() {\n return this.ShowParamDialog;\n }\n /** @deprecated Use {@link ShowParamDialog}. */\n public set showParamDialog(value) {\n this.ShowParamDialog = value;\n }\n \n // Template editor configuration for shared component\n public TemplateEditorConfig: TemplateEditorConfig = {\n allowEdit: true,\n showRunButton: true,\n compactMode: false\n };\n\n /** @deprecated Use {@link TemplateEditorConfig}. */\n public get templateEditorConfig(): TemplateEditorConfig {\n return this.TemplateEditorConfig;\n }\n /** @deprecated Use {@link TemplateEditorConfig}. */\n public set templateEditorConfig(value: TemplateEditorConfig) {\n this.TemplateEditorConfig = value;\n }\n \n private destroy$ = new Subject<void>();\n private activeTimeouts: number[] = [];\n private confirmService = inject(MJConfirmService);\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.LoadTemplateContents();\n await this.LoadCategories();\n this.LoadContentTypes();\n }\n\n ngOnDestroy() {\n this.destroy$.next();\n this.destroy$.complete();\n \n // Clean up any active timeouts\n this.activeTimeouts.forEach(timeoutId => clearTimeout(timeoutId));\n this.activeTimeouts.length = 0;\n }\n\n ngAfterViewInit() {\n // Initial sync when view is ready\n this.syncEditorValue();\n }\n\n async LoadTemplateContents() {\n if (this.record && this.record.ID) {\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const results = await rv.RunView<MJTemplateContentEntity>({\n EntityName: 'MJ: Template Contents',\n ExtraFilter: `TemplateID='${this.record.ID}'`,\n OrderBy: 'Priority ASC, __mj_CreatedAt ASC',\n ResultType: 'entity_object'\n });\n \n this.TemplateContents = results.Results;\n \n // If we have contents but no selection, select the first one\n if (this.TemplateContents.length > 0 && this.SelectedContentIndex === 0) {\n this.SelectedContentIndex = 0;\n }\n \n // If no template contents exist, create a default one for single-content optimization\n if (this.TemplateContents.length === 0) {\n await this.CreateDefaultTemplateContent();\n }\n\n // Entity change tracking is handled automatically by BaseEntity\n \n // Sync editor value after loading content\n this.syncEditorValue();\n } catch (error) {\n console.error('Error loading template contents:', error);\n }\n }\n }\n\n /** @deprecated Use {@link LoadTemplateContents}. */\n async loadTemplateContents() {\n return this.LoadTemplateContents();\n }\n\n async CreateDefaultTemplateContent() {\n const md = this.ProviderToUse;\n const defaultContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents');\n defaultContent.TemplateID = this.record.ID;\n defaultContent.Priority = 1;\n defaultContent.IsActive = true;\n \n // Set default to first real content type (skip \"Select Type...\" if it exists)\n const validContentTypes = this.ContentTypeOptions.filter(option => option.value !== '');\n if (validContentTypes.length > 0) {\n defaultContent.TypeID = validContentTypes[0].value;\n }\n \n this.TemplateContents = [defaultContent];\n this.SelectedContentIndex = 0;\n \n // Sync editor value after creating default content\n this.syncEditorValue();\n }\n\n /** @deprecated Use {@link CreateDefaultTemplateContent}. */\n async createDefaultTemplateContent() {\n return this.CreateDefaultTemplateContent();\n }\n\n async SelectTemplateContent(index: number, confirmSwitch: boolean = true): Promise<void> {\n // If we're adding new content and user clicks on existing content, ask for confirmation\n if (this.IsAddingNewContent && confirmSwitch) {\n if (!(await this.confirmService.Confirm({\n title: 'Discard changes?',\n message: 'Switch content version and lose your unsaved changes?',\n detail: 'Your changes to the new content version will be lost.'\n }))) {\n return;\n }\n }\n \n if (index >= 0 && index < this.TemplateContents.length) {\n this.SelectedContentIndex = index;\n this.IsAddingNewContent = false;\n // Don't clear newTemplateContent to preserve the work in progress\n \n // Sync editor value when switching content\n this.syncEditorValue();\n }\n }\n\n /** @deprecated Use {@link SelectTemplateContent}. */\n async selectTemplateContent(index: number, confirmSwitch: boolean = true): Promise<void> {\n return this.SelectTemplateContent(index, confirmSwitch);\n }\n\n async LoadCategories() {\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const results = await rv.RunView({\n EntityName: 'MJ: Template Categories' \n });\n \n this.CategoryOptions = [\n { text: 'Select Category...', value: '' },\n ...results.Results.map((cat: any) => ({\n text: cat.Name,\n value: cat.ID\n }))\n ];\n } catch (error) {\n console.error('Error loading categories:', error);\n this.CategoryOptions = [{ text: 'Select Category...', value: '' }];\n }\n }\n\n /** @deprecated Use {@link LoadCategories}. */\n async loadCategories() {\n return this.LoadCategories();\n }\n\n LoadContentTypes() {\n try {\n // Get content types from TemplateEngine cache\n const contentTypes = TemplateEngineBase.Instance.TemplateContentTypes;\n this.ContentTypeOptions = [\n { text: 'Select Type...', value: '' },\n ...contentTypes.map(ct => ({\n text: ct.Name,\n value: ct.ID\n }))\n ];\n } catch (error) {\n console.error('Error loading content types:', error);\n // Fallback to basic types\n this.ContentTypeOptions = [\n { text: 'Select Type...', value: '' },\n { text: 'HTML', value: 'HTML' },\n { text: 'Plain Text', value: 'Text' },\n { text: 'Markdown', value: 'Markdown' }\n ];\n }\n }\n\n /** @deprecated Use {@link LoadContentTypes}. */\n loadContentTypes() {\n return this.LoadContentTypes();\n }\n\n async OnCategoryChange(value: string) {\n // If it's a new category (string but not in existing options)\n if (value && !this.CategoryOptions.find(opt => opt.value === value)) {\n // Check for duplicate category names (case-insensitive, trimmed)\n if (this.isDuplicateCategory(value)) {\n const existingCategory = this.CategoryOptions.find(option => \n option.text && option.text.trim().toLowerCase() === value.trim().toLowerCase()\n );\n if (existingCategory) {\n // Use the existing category instead\n this.record.CategoryID = existingCategory.value;\n MJNotificationService.Instance.CreateSimpleNotification(\n `Category \"${existingCategory.text}\" already exists. Using existing category.`, \n 'warning'\n );\n }\n return;\n }\n\n try {\n // Create new category with trimmed name\n const md = this.ProviderToUse;\n const newCategory = await md.GetEntityObject<MJTemplateCategoryEntity>('MJ: Template Categories');\n newCategory.Name = value.trim();\n newCategory.UserID = this.record.UserID || md.CurrentUser.ID;\n const saved = await newCategory.Save();\n \n if (saved) {\n // Add to options and set the ID\n this.CategoryOptions.push({\n text: newCategory.Name,\n value: newCategory.ID\n });\n this.record.CategoryID = newCategory.ID;\n MJNotificationService.Instance.CreateSimpleNotification(\n `New category \"${newCategory.Name}\" created successfully.`, \n 'success'\n );\n } else {\n MJNotificationService.Instance.CreateSimpleNotification(\n `Failed to create new category. ${newCategory.LatestResult?.CompleteMessage || ''}`, \n 'error'\n );\n }\n } catch (error) {\n console.error('Error creating new category:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error creating new category. Please try again.', \n 'error'\n );\n }\n }\n }\n\n /** @deprecated Use {@link OnCategoryChange}. */\n async onCategoryChange(value: string) {\n return this.OnCategoryChange(value);\n }\n\n async AddNewTemplateContent() {\n const md = this.ProviderToUse;\n this.NewTemplateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents');\n this.NewTemplateContent.TemplateID = this.record.ID;\n this.NewTemplateContent.Priority = this.TemplateContents.length + 1;\n this.NewTemplateContent.IsActive = true;\n \n // Set default to first real content type (skip \"Select Type...\" if it exists)\n const validContentTypes = this.ContentTypeOptions.filter(option => option.value !== '');\n if (validContentTypes.length > 0) {\n this.NewTemplateContent.TypeID = validContentTypes[0].value;\n }\n this.NewTemplateContent.TemplateText = '';\n \n // Add immediately to the array\n this.TemplateContents.push(this.NewTemplateContent);\n this.SelectedContentIndex = this.TemplateContents.length - 1;\n this.IsAddingNewContent = true;\n \n // Sync editor value when adding new content\n this.syncEditorValue();\n }\n\n /** @deprecated Use {@link AddNewTemplateContent}. */\n async addNewTemplateContent() {\n return this.AddNewTemplateContent();\n }\n\n CancelNewTemplateContent() {\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n }\n\n /** @deprecated Use {@link CancelNewTemplateContent}. */\n cancelNewTemplateContent() {\n return this.CancelNewTemplateContent();\n }\n\n async DeleteTemplateContent(index: number) {\n if (index >= 0 && index < this.TemplateContents.length) {\n const contentToDelete = this.TemplateContents[index];\n\n if (contentToDelete.ID) {\n try {\n const result = await contentToDelete.Delete();\n if (result) {\n this.TemplateContents.splice(index, 1);\n \n // Adjust selected index if necessary\n if (this.SelectedContentIndex >= this.TemplateContents.length) {\n this.SelectedContentIndex = Math.max(0, this.TemplateContents.length - 1);\n }\n \n // If no contents remain, create a default one\n if (this.TemplateContents.length === 0) {\n await this.CreateDefaultTemplateContent();\n }\n } else {\n console.error('Delete returned false');\n MJNotificationService.Instance.CreateSimpleNotification(`Failed to delete template content. ${contentToDelete.LatestResult.CompleteMessage}`, 'error');\n }\n } catch (error) {\n console.error('Error deleting template content:', error);\n }\n } else {\n // Not saved yet, just remove from array\n this.TemplateContents.splice(index, 1);\n if (this.SelectedContentIndex >= this.TemplateContents.length) {\n this.SelectedContentIndex = Math.max(0, this.TemplateContents.length - 1);\n }\n \n // Reset adding new content state if we're deleting the new content\n if (this.IsAddingNewContent && index === this.TemplateContents.length) {\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n }\n }\n } else {\n console.error('Invalid index for deletion:', index);\n }\n }\n\n /** @deprecated Use {@link DeleteTemplateContent}. */\n async deleteTemplateContent(index: number) {\n return this.DeleteTemplateContent(index);\n }\n\n get CurrentTemplateContent(): MJTemplateContentEntity | null {\n if (this.IsAddingNewContent) {\n return this.NewTemplateContent;\n }\n return this.TemplateContents[this.SelectedContentIndex] || null;\n }\n\n /** @deprecated Use {@link CurrentTemplateContent}. */\n get currentTemplateContent(): MJTemplateContentEntity | null {\n return this.CurrentTemplateContent;\n }\n\n get HasMultipleContents(): boolean {\n return this.TemplateContents.length > 1 || this.IsAddingNewContent;\n }\n\n /** @deprecated Use {@link HasMultipleContents}. */\n get hasMultipleContents(): boolean {\n return this.HasMultipleContents;\n }\n\n OnContentTypeChange() {\n // Content type changes just modify the current content, no new record creation\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnContentTypeChange}. */\n onContentTypeChange() {\n return this.OnContentTypeChange();\n }\n\n OnContentChange() {\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnContentChange}. */\n onContentChange() {\n return this.OnContentChange();\n }\n\n /**\n * Updates the hasUnsavedChanges flag based on entity dirty states\n */\n private updateUnsavedChangesFlag() {\n this.HasUnsavedChanges = this.TemplateContents.some(content => content.Dirty) || \n this.IsAddingNewContent ||\n this.record?.Dirty || false;\n }\n\n OnTemplateTextChange(event: any) {\n if (this.isUpdatingEditorValue) {\n // Ignore change events when we're programmatically updating the editor\n return;\n }\n \n if (this.CurrentTemplateContent) {\n // Extract value from event - might be event.target.value or just event depending on component\n const value = typeof event === 'string' ? event : (event.target?.value || event);\n this.CurrentTemplateContent.TemplateText = value;\n // hasUnsavedChanges is automatically handled by entity's IsDirty flag\n this.updateUnsavedChangesFlag();\n }\n }\n\n /** @deprecated Use {@link OnTemplateTextChange}. */\n onTemplateTextChange(event: any) {\n return this.OnTemplateTextChange(event);\n }\n\n /**\n * Helper method to track setTimeout calls for cleanup\n */\n private setTrackedTimeout(callback: () => void, delay: number): number {\n const timeoutId = setTimeout(() => {\n // Remove from tracking when it executes\n const index = this.activeTimeouts.indexOf(timeoutId);\n if (index > -1) {\n this.activeTimeouts.splice(index, 1);\n }\n callback();\n }, delay) as any as number;\n this.activeTimeouts.push(timeoutId);\n return timeoutId;\n }\n\n /**\n * Manually sync the editor value without triggering change events\n */\n private syncEditorValue() {\n // Use Promise.resolve() to wait for the next microtask after any pending changes\n Promise.resolve().then(() => {\n // Then tracked setTimeout for the next macrotask to ensure DOM is updated\n this.setTrackedTimeout(() => {\n if (!this.CodeEditor) {\n return;\n }\n \n this.isUpdatingEditorValue = true;\n const newValue = this.CurrentTemplateContent?.TemplateText || '';\n \n // Use the setValue method from mj-code-editor component\n this.CodeEditor.setValue(newValue); \n this.isUpdatingEditorValue = false;\n }, 0);\n });\n }\n\n async SaveTemplateContents(): Promise<boolean> {\n try {\n // Save all template contents that have changes\n for (const content of this.TemplateContents) {\n content.TemplateID = this.record.ID; // Ensure FK is set\n if (content.Dirty || !content.ID) {\n const contentResult = await content.Save();\n if (!contentResult) {\n console.error('Failed to save template content:', content);\n return false;\n }\n }\n }\n\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n this.updateUnsavedChangesFlag(); // Update based on current entity states\n return true;\n } catch (error) {\n console.error('Error saving template contents:', error);\n return false;\n }\n }\n\n /** @deprecated Use {@link SaveTemplateContents}. */\n async saveTemplateContents(): Promise<boolean> {\n return this.SaveTemplateContents();\n }\n\n async SaveRecord(StopEditModeAfterSave: boolean = true): Promise<boolean> {\n // Check if we need to create a new category first\n if (this.record.CategoryID && !this.CategoryOptions.find(opt => opt.value === this.record.CategoryID)) {\n // Check for duplicate category names (case-insensitive, trimmed)\n if (this.isDuplicateCategory(this.record.CategoryID)) {\n const existingCategory = this.CategoryOptions.find(option => \n option.text && option.text.trim().toLowerCase() === this.record.CategoryID?.trim().toLowerCase()\n );\n if (existingCategory) {\n // Use the existing category instead\n this.record.CategoryID = existingCategory.value;\n MJNotificationService.Instance.CreateSimpleNotification(\n `Category \"${existingCategory.text}\" already exists. Using existing category.`, \n 'warning'\n );\n }\n } else {\n try {\n // Create new category with trimmed name\n const md = this.ProviderToUse;\n const newCategory = await md.GetEntityObject<MJTemplateCategoryEntity>('MJ: Template Categories');\n newCategory.Name = this.record.CategoryID.trim(); // CategoryID contains the new category name, trim it\n newCategory.UserID = this.record.UserID || md.CurrentUser.ID; \n const saved = await newCategory.Save();\n \n if (saved) {\n // Add to options and set the ID\n this.CategoryOptions.push({\n text: newCategory.Name,\n value: newCategory.ID\n });\n this.record.CategoryID = newCategory.ID;\n } else {\n console.error('Failed to create new category');\n MJNotificationService.Instance.CreateSimpleNotification(\n `Failed to create new category. ${newCategory.LatestResult?.CompleteMessage || ''}`, \n 'error'\n );\n return false;\n }\n } catch (error) {\n console.error('Error creating new category during save:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error creating new category during save. Please try again.', \n 'error'\n );\n return false;\n }\n }\n }\n\n // Call the parent save method to save the template\n // Before saving, if a new record, make sure the UserID is set\n if (!this.record.IsSaved && !this.record.UserID) {\n const md = this.ProviderToUse;\n this.record.UserID = md.CurrentUser.ID;\n }\n const templateSaved = await super.SaveRecord(StopEditModeAfterSave);\n \n if (templateSaved) {\n // Then save all template contents\n return await this.SaveTemplateContents();\n }\n \n return false;\n }\n\n GetContentTypeDisplayText(typeId: string): string {\n if (!typeId) return '-';\n const option = this.ContentTypeOptions.find(opt => opt.value === typeId);\n return option ? option.text : typeId;\n }\n\n /** @deprecated Use {@link GetContentTypeDisplayText}. */\n getContentTypeDisplayText(typeId: string): string {\n return this.GetContentTypeDisplayText(typeId);\n }\n\n GetEditorLanguage(): string {\n if (!this.CurrentTemplateContent?.TypeID) {\n return 'jinja2'; // default to jinja2 for template syntax (compatible with Nunjucks)\n }\n\n const contentType = this.CurrentTemplateContent.TypeID.toLowerCase();\n \n // Map content types to CodeMirror language modes\n switch (contentType) {\n case 'html':\n return 'jinja2'; // Use jinja2 for HTML templates to get template syntax highlighting\n case 'markdown':\n case 'md':\n return 'markdown';\n case 'javascript':\n case 'js':\n return 'javascript';\n case 'css':\n return 'css';\n case 'json':\n return 'json';\n case 'xml':\n return 'xml';\n case 'sql':\n return 'sql';\n case 'text':\n case 'plain':\n default:\n return 'jinja2'; // Default to jinja2 since templates often contain template syntax\n }\n }\n\n /** @deprecated Use {@link GetEditorLanguage}. */\n getEditorLanguage(): string {\n return this.GetEditorLanguage();\n }\n\n private isDuplicateCategory(categoryName: string): boolean {\n const normalizedName = categoryName.trim().toLowerCase();\n return this.CategoryOptions.some(option => \n option.text && option.text.trim().toLowerCase() === normalizedName\n );\n }\n\n /**\n * Test run the current template using the parameter dialog\n */\n async RunTemplate() {\n if (!this.record?.IsSaved || !this.CurrentTemplateContent) {\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please save the template before running it.', \n 'warning'\n );\n return;\n }\n\n // Save any unsaved changes first\n if (this.HasUnsavedChanges) {\n const saveResult = await this.SaveRecord(false); // Don't exit edit mode\n if (!saveResult) {\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Failed to save template changes.', \n 'error'\n );\n return;\n }\n }\n\n // Show the parameter dialog\n this.ShowParamDialog = true;\n }\n\n /** @deprecated Use {@link RunTemplate}. */\n async runTemplate() {\n return this.RunTemplate();\n }\n\n /**\n * Handle parameter dialog close\n */\n OnParamDialogClose() {\n this.ShowParamDialog = false;\n }\n\n /** @deprecated Use {@link OnParamDialogClose}. */\n onParamDialogClose() {\n return this.OnParamDialogClose();\n }\n\n GetContentTypeOptionsForContent(): Array<{text: string, value: string}> {\n // Always exclude \"Select Type...\" option for all content\n return this.ContentTypeOptions.filter(option => option.value !== '');\n }\n\n /** @deprecated Use {@link GetContentTypeOptionsForContent}. */\n getContentTypeOptionsForContent(): Array<{text: string, value: string}> {\n return this.GetContentTypeOptionsForContent();\n }\n\n /**\n * Handles template content changes from the shared editor\n */\n public OnSharedTemplateContentChange(content: MJTemplateContentEntity[]) {\n this.TemplateContents = content;\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnSharedTemplateContentChange}. */\n public onSharedTemplateContentChange(content: MJTemplateContentEntity[]) {\n return this.OnSharedTemplateContentChange(content);\n }\n\n /**\n * Handles template run requests from the shared editor\n */\n public OnSharedTemplateRun(template: MJTemplateEntity) {\n this.RunTemplate();\n }\n\n /** @deprecated Use {@link OnSharedTemplateRun}. */\n public onSharedTemplateRun(template: MJTemplateEntity) {\n return this.OnSharedTemplateRun(template);\n }\n\n} \n","@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n [ToolbarConfig]=\"toolbarConfig\"\n [WidthMode]=\"'full-width'\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n\n <!-- Main Content Area -->\n <div class=\"template-main-area\" style=\"display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto;\">\n\n <!-- Header Section -->\n <div class=\"template-header-area\">\n <div style=\"display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;\">\n\n <!-- Left: Template Info -->\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i class=\"fa-solid fa-file-code template-icon\"></i>\n @if (EditMode) {\n <input type=\"text\" class=\"mj-input\"\n [(ngModel)]=\"record.Name\"\n name=\"templateName\"\n placeholder=\"Enter template name...\"\n style=\"font-size: 1.2em; font-weight: 600; min-width: 300px; flex: 1;\" />\n } @else {\n <h4>{{ record.Name || 'Unnamed Template' }}</h4>\n @if (record.IsActive) {\n <span class=\"active-badge\">\n <i class=\"fa-solid fa-check-circle\"></i> Active\n </span>\n } @else {\n <span class=\"inactive-badge\">\n <i class=\"fa-solid fa-pause-circle\"></i> Inactive\n </span>\n }\n }\n </div>\n\n <!-- Category and Active toggle when in edit mode -->\n @if (EditMode) {\n <div style=\"display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; align-items: center;\">\n <div>\n <label class=\"field-label\">Category</label>\n <mj-combobox [(ngModel)]=\"record.CategoryID\"\n name=\"categoryId\"\n [Data]=\"categoryOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [AllowCustom]=\"true\"\n (ValueChange)=\"onCategoryChange($any($event))\"\n Placeholder=\"Select or enter new category...\"\n style=\"width: 250px;\">\n </mj-combobox>\n </div>\n <div>\n <label class=\"field-label\">Active</label>\n <mj-switch [(ngModel)]=\"record.IsActive\" name=\"isActive\"></mj-switch>\n </div>\n </div>\n }\n\n @if (EditMode) {\n <textarea class=\"mj-textarea\"\n [(ngModel)]=\"record.Description\"\n name=\"description\"\n [rows]=\"2\"\n placeholder=\"Enter template description...\"\n style=\"width: 100%; max-width: 600px; margin-bottom: 12px;\"></textarea>\n } @else if (record.Description) {\n <p class=\"description-text\">{{ record.Description }}</p>\n }\n\n <!-- Quick Info Row -->\n <div style=\"display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n @if (record.Category) {\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-folder meta-icon\"></i>\n <span class=\"meta-label\">Category:</span>\n <span class=\"meta-value\">{{ record.Category }}</span>\n </div>\n }\n\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-file-lines meta-icon\"></i>\n <span class=\"meta-label\">Contents:</span>\n <span class=\"meta-value\">{{ templateContents.length }}</span>\n </div>\n </div>\n </div>\n\n <!-- Right: Action Buttons -->\n <div style=\"display: flex; flex-direction: column; gap: 8px; align-items: flex-end;\">\n @if (record.IsSaved) {\n <button class=\"run-template-btn\"\n (click)=\"runTemplate()\"\n title=\"Run Template\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Configuration Sections with Expansion Panels -->\n <div class=\"configuration-sections\">\n\n <!-- Template Editor Section -->\n <mj-accordion-panel\n [Expanded]=\"true\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Template Editor\n @if (templateContents.length > 0) {\n <span class=\"count-badge\">{{ templateContents.length }}</span>\n }\n </span>\n </ng-template>\n\n <div style=\"padding: 8px; min-height: 400px;\">\n <mj-template-editor\n [template]=\"record\"\n [config]=\"templateEditorConfig\"\n (contentChange)=\"onSharedTemplateContentChange($event)\"\n (runTemplate)=\"onSharedTemplateRun($event)\"\n style=\"height: 100%; display: block;\">\n </mj-template-editor>\n </div>\n </mj-accordion-panel>\n\n <!-- Details Section -->\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Details\n </span>\n </ng-template>\n\n <div style=\"padding: 16px;\">\n <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 20px;\">\n <!-- Left Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserPrompt\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n LinkType=\"Record\"\n LinkComponentType=\"Search\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ActiveAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"DisabledAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n\n <!-- Right Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"IsActive\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_UpdatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Category\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"User\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n\n <!-- Template Parameters Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Parameters\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-template-params-grid\n [template]=\"record\"\n [editMode]=\"EditMode\">\n </mj-template-params-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- AI Prompts Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-robot\"></i>\n AI Prompts\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompts','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompts')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Entity Documents Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-file-text\"></i>\n Entity Documents\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Documents','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Documents')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n </div>\n </div>\n </form>\n</mj-record-form-container>\n\n<!-- Template Parameter Dialog -->\n<mj-template-param-dialog\n [template]=\"record\"\n [(isVisible)]=\"showParamDialog\"\n (onClose)=\"onParamDialogClose()\">\n</mj-template-param-dialog>\n}\n"]}
1
+ {"version":3,"file":"templates-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/Templates/templates-form.component.ts","../../../../src/lib/custom/Templates/templates-form.component.html"],"names":[],"mappings":"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","sourcesContent":["import { Component, OnInit, OnDestroy, ViewChild, AfterViewInit, ChangeDetectorRef, inject } from '@angular/core';\nimport { MJTemplateEntity, MJTemplateContentEntity, MJTemplateCategoryEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent, CUSTOM_LAYOUT_TOOLBAR_CONFIG } from '@memberjunction/ng-base-forms';\nimport { MJTemplateFormComponent } from '../../generated/Entities/MJTemplate/mjtemplate.form.component';\nimport { Metadata, RunView } from '@memberjunction/core';\nimport { GraphQLDataProvider } from '@memberjunction/graphql-dataprovider';\nimport { TemplateEngineBase } from '@memberjunction/templates-base-types';\nimport { Subject } from 'rxjs';\nimport { MJNotificationService } from '@memberjunction/ng-notifications';\nimport { LanguageDescription } from '@codemirror/language';\nimport { languages } from '@codemirror/language-data';\nimport { CodeEditorComponent } from '@memberjunction/ng-code-editor';\nimport { MJConfirmService } from '@memberjunction/ng-ui-components';\nimport { TemplateEditorComponent, TemplateEditorConfig } from '../../shared/components/template-editor.component';\n\n@RegisterClass(BaseFormComponent, 'MJ: Templates') \n@Component({\n standalone: false,\n selector: 'mj-templates-form',\n templateUrl: './templates-form.component.html',\n styleUrls: ['../../../shared/form-styles.css', './templates-form.component.css']\n})\nexport class MJTemplateFormComponentExtended extends MJTemplateFormComponent implements OnInit, OnDestroy, AfterViewInit {\n public record!: MJTemplateEntity;\n public readonly ToolbarConfig = CUSTOM_LAYOUT_TOOLBAR_CONFIG;\n\n /** @deprecated Use {@link ToolbarConfig}. */\n public get toolbarConfig() {\n return this.ToolbarConfig;\n }\n\n /** Custom-layout Template form looks best full-width on first open. */\n public override getDefaultFormWidthMode(): 'centered' | 'full-width' { return 'full-width'; }\n public TemplateContents: MJTemplateContentEntity[] = [];\n\n /** @deprecated Use {@link TemplateContents}. */\n public get templateContents(): MJTemplateContentEntity[] {\n return this.TemplateContents;\n }\n /** @deprecated Use {@link TemplateContents}. */\n public set templateContents(value: MJTemplateContentEntity[]) {\n this.TemplateContents = value;\n }\n public SelectedContentIndex: number = 0;\n\n /** @deprecated Use {@link SelectedContentIndex}. */\n public get selectedContentIndex(): number {\n return this.SelectedContentIndex;\n }\n /** @deprecated Use {@link SelectedContentIndex}. */\n public set selectedContentIndex(value: number) {\n this.SelectedContentIndex = value;\n }\n public IsAddingNewContent: boolean = false;\n\n /** @deprecated Use {@link IsAddingNewContent}. */\n public get isAddingNewContent(): boolean {\n return this.IsAddingNewContent;\n }\n /** @deprecated Use {@link IsAddingNewContent}. */\n public set isAddingNewContent(value: boolean) {\n this.IsAddingNewContent = value;\n }\n public NewTemplateContent: MJTemplateContentEntity | null = null;\n\n /** @deprecated Use {@link NewTemplateContent}. */\n public get newTemplateContent(): MJTemplateContentEntity | null {\n return this.NewTemplateContent;\n }\n /** @deprecated Use {@link NewTemplateContent}. */\n public set newTemplateContent(value: MJTemplateContentEntity | null) {\n this.NewTemplateContent = value;\n }\n public HasUnsavedChanges: boolean = false;\n\n /** @deprecated Use {@link HasUnsavedChanges}. */\n public get hasUnsavedChanges(): boolean {\n return this.HasUnsavedChanges;\n }\n /** @deprecated Use {@link HasUnsavedChanges}. */\n public set hasUnsavedChanges(value: boolean) {\n this.HasUnsavedChanges = value;\n }\n public TemplateInfoExpanded: boolean = true;\n\n /** @deprecated Use {@link TemplateInfoExpanded}. */\n public get templateInfoExpanded(): boolean {\n return this.TemplateInfoExpanded;\n }\n /** @deprecated Use {@link TemplateInfoExpanded}. */\n public set templateInfoExpanded(value: boolean) {\n this.TemplateInfoExpanded = value;\n }\n public TemplateContentsExpanded: boolean = true;\n\n /** @deprecated Use {@link TemplateContentsExpanded}. */\n public get templateContentsExpanded(): boolean {\n return this.TemplateContentsExpanded;\n }\n /** @deprecated Use {@link TemplateContentsExpanded}. */\n public set templateContentsExpanded(value: boolean) {\n this.TemplateContentsExpanded = value;\n }\n public CategoryOptions: Array<{text: string, value: string}> = [\n { text: 'Select Category...', value: '' },\n // TODO: Load from database\n ];\n\n /** @deprecated Use {@link CategoryOptions}. */\n public get categoryOptions(): Array<{text: string, value: string}> {\n return this.CategoryOptions;\n }\n /** @deprecated Use {@link CategoryOptions}. */\n public set categoryOptions(value: Array<{text: string, value: string}>) {\n this.CategoryOptions = value;\n }\n public ContentTypeOptions: Array<{text: string, value: string}> = [];\n\n /** @deprecated Use {@link ContentTypeOptions}. */\n public get contentTypeOptions(): Array<{text: string, value: string}> {\n return this.ContentTypeOptions;\n }\n /** @deprecated Use {@link ContentTypeOptions}. */\n public set contentTypeOptions(value: Array<{text: string, value: string}>) {\n this.ContentTypeOptions = value;\n }\n public SupportedLanguages: LanguageDescription[] = languages;\n\n /** @deprecated Use {@link SupportedLanguages}. */\n public get supportedLanguages(): LanguageDescription[] {\n return this.SupportedLanguages;\n }\n /** @deprecated Use {@link SupportedLanguages}. */\n public set supportedLanguages(value: LanguageDescription[]) {\n this.SupportedLanguages = value;\n }\n \n @ViewChild('codeEditor') CodeEditor: CodeEditorComponent | null = null;\n\n /** @deprecated Use {@link CodeEditor}. */\n get codeEditor(): CodeEditorComponent | null {\n return this.CodeEditor;\n }\n /** @deprecated Use {@link CodeEditor}. */\n set codeEditor(value: CodeEditorComponent | null) {\n this.CodeEditor = value;\n }\n /** The embedded content editor; its dirty contents ride along in this form's save transaction. */\n @ViewChild('templateEditor') TemplateEditor: TemplateEditorComponent | undefined;\n private isUpdatingEditorValue = false;\n public IsRunningTemplate = false;\n\n /** @deprecated Use {@link IsRunningTemplate}. */\n public get isRunningTemplate() {\n return this.IsRunningTemplate;\n }\n /** @deprecated Use {@link IsRunningTemplate}. */\n public set isRunningTemplate(value) {\n this.IsRunningTemplate = value;\n }\n public TemplateTestResult: string | null = null;\n\n /** @deprecated Use {@link TemplateTestResult}. */\n public get templateTestResult(): string | null {\n return this.TemplateTestResult;\n }\n /** @deprecated Use {@link TemplateTestResult}. */\n public set templateTestResult(value: string | null) {\n this.TemplateTestResult = value;\n }\n public TemplateTestError: string | null = null;\n\n /** @deprecated Use {@link TemplateTestError}. */\n public get templateTestError(): string | null {\n return this.TemplateTestError;\n }\n /** @deprecated Use {@link TemplateTestError}. */\n public set templateTestError(value: string | null) {\n this.TemplateTestError = value;\n }\n public ShowParamDialog = false;\n\n /** @deprecated Use {@link ShowParamDialog}. */\n public get showParamDialog() {\n return this.ShowParamDialog;\n }\n /** @deprecated Use {@link ShowParamDialog}. */\n public set showParamDialog(value) {\n this.ShowParamDialog = value;\n }\n \n // Template editor configuration for shared component\n public TemplateEditorConfig: TemplateEditorConfig = {\n allowEdit: true,\n showRunButton: true,\n compactMode: false\n };\n\n /** @deprecated Use {@link TemplateEditorConfig}. */\n public get templateEditorConfig(): TemplateEditorConfig {\n return this.TemplateEditorConfig;\n }\n /** @deprecated Use {@link TemplateEditorConfig}. */\n public set templateEditorConfig(value: TemplateEditorConfig) {\n this.TemplateEditorConfig = value;\n }\n \n private destroy$ = new Subject<void>();\n private activeTimeouts: number[] = [];\n private confirmService = inject(MJConfirmService);\n\n async ngOnInit() {\n await super.ngOnInit();\n await this.LoadTemplateContents();\n await this.LoadCategories();\n this.LoadContentTypes();\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.destroy$.next();\n this.destroy$.complete();\n \n // Clean up any active timeouts\n this.activeTimeouts.forEach(timeoutId => clearTimeout(timeoutId));\n this.activeTimeouts.length = 0;\n }\n\n ngAfterViewInit() {\n // Initial sync when view is ready\n this.syncEditorValue();\n }\n\n async LoadTemplateContents() {\n if (this.record && this.record.ID) {\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const results = await rv.RunView<MJTemplateContentEntity>({\n EntityName: 'MJ: Template Contents',\n ExtraFilter: `TemplateID='${this.record.ID}'`,\n OrderBy: 'Priority ASC, __mj_CreatedAt ASC',\n ResultType: 'entity_object'\n });\n \n this.TemplateContents = results.Results;\n \n // If we have contents but no selection, select the first one\n if (this.TemplateContents.length > 0 && this.SelectedContentIndex === 0) {\n this.SelectedContentIndex = 0;\n }\n \n // If no template contents exist, create a default one for single-content optimization\n if (this.TemplateContents.length === 0) {\n await this.CreateDefaultTemplateContent();\n }\n\n // Entity change tracking is handled automatically by BaseEntity\n \n // Sync editor value after loading content\n this.syncEditorValue();\n } catch (error) {\n console.error('Error loading template contents:', error);\n }\n }\n }\n\n /** @deprecated Use {@link LoadTemplateContents}. */\n async loadTemplateContents() {\n return this.LoadTemplateContents();\n }\n\n async CreateDefaultTemplateContent() {\n const md = this.ProviderToUse;\n const defaultContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents');\n defaultContent.TemplateID = this.record.ID;\n defaultContent.Priority = 1;\n defaultContent.IsActive = true;\n \n // Set default to first real content type (skip \"Select Type...\" if it exists)\n const validContentTypes = this.ContentTypeOptions.filter(option => option.value !== '');\n if (validContentTypes.length > 0) {\n defaultContent.TypeID = validContentTypes[0].value;\n }\n \n this.TemplateContents = [defaultContent];\n this.SelectedContentIndex = 0;\n \n // Sync editor value after creating default content\n this.syncEditorValue();\n }\n\n /** @deprecated Use {@link CreateDefaultTemplateContent}. */\n async createDefaultTemplateContent() {\n return this.CreateDefaultTemplateContent();\n }\n\n async SelectTemplateContent(index: number, confirmSwitch: boolean = true): Promise<void> {\n // If we're adding new content and user clicks on existing content, ask for confirmation\n if (this.IsAddingNewContent && confirmSwitch) {\n if (!(await this.confirmService.Confirm({\n title: 'Discard changes?',\n message: 'Switch content version and lose your unsaved changes?',\n detail: 'Your changes to the new content version will be lost.'\n }))) {\n return;\n }\n }\n \n if (index >= 0 && index < this.TemplateContents.length) {\n this.SelectedContentIndex = index;\n this.IsAddingNewContent = false;\n // Don't clear newTemplateContent to preserve the work in progress\n \n // Sync editor value when switching content\n this.syncEditorValue();\n }\n }\n\n /** @deprecated Use {@link SelectTemplateContent}. */\n async selectTemplateContent(index: number, confirmSwitch: boolean = true): Promise<void> {\n return this.SelectTemplateContent(index, confirmSwitch);\n }\n\n async LoadCategories() {\n try {\n const rv = RunView.FromMetadataProvider(this.ProviderToUse);\n const results = await rv.RunView({\n EntityName: 'MJ: Template Categories' \n });\n \n this.CategoryOptions = [\n { text: 'Select Category...', value: '' },\n ...results.Results.map((cat: any) => ({\n text: cat.Name,\n value: cat.ID\n }))\n ];\n } catch (error) {\n console.error('Error loading categories:', error);\n this.CategoryOptions = [{ text: 'Select Category...', value: '' }];\n }\n }\n\n /** @deprecated Use {@link LoadCategories}. */\n async loadCategories() {\n return this.LoadCategories();\n }\n\n LoadContentTypes() {\n try {\n // Get content types from TemplateEngine cache\n const contentTypes = TemplateEngineBase.Instance.TemplateContentTypes;\n this.ContentTypeOptions = [\n { text: 'Select Type...', value: '' },\n ...contentTypes.map(ct => ({\n text: ct.Name,\n value: ct.ID\n }))\n ];\n } catch (error) {\n console.error('Error loading content types:', error);\n // Fallback to basic types\n this.ContentTypeOptions = [\n { text: 'Select Type...', value: '' },\n { text: 'HTML', value: 'HTML' },\n { text: 'Plain Text', value: 'Text' },\n { text: 'Markdown', value: 'Markdown' }\n ];\n }\n }\n\n /** @deprecated Use {@link LoadContentTypes}. */\n loadContentTypes() {\n return this.LoadContentTypes();\n }\n\n async OnCategoryChange(value: string) {\n // If it's a new category (string but not in existing options)\n if (value && !this.CategoryOptions.find(opt => opt.value === value)) {\n // Check for duplicate category names (case-insensitive, trimmed)\n if (this.isDuplicateCategory(value)) {\n const existingCategory = this.CategoryOptions.find(option => \n option.text && option.text.trim().toLowerCase() === value.trim().toLowerCase()\n );\n if (existingCategory) {\n // Use the existing category instead\n this.record.CategoryID = existingCategory.value;\n MJNotificationService.Instance.CreateSimpleNotification(\n `Category \"${existingCategory.text}\" already exists. Using existing category.`, \n 'warning'\n );\n }\n return;\n }\n\n try {\n // Create new category with trimmed name\n const md = this.ProviderToUse;\n const newCategory = await md.GetEntityObject<MJTemplateCategoryEntity>('MJ: Template Categories');\n newCategory.Name = value.trim();\n newCategory.UserID = this.record.UserID || md.CurrentUser.ID;\n const saved = await newCategory.Save();\n \n if (saved) {\n // Add to options and set the ID\n this.CategoryOptions.push({\n text: newCategory.Name,\n value: newCategory.ID\n });\n this.record.CategoryID = newCategory.ID;\n MJNotificationService.Instance.CreateSimpleNotification(\n `New category \"${newCategory.Name}\" created successfully.`, \n 'success'\n );\n } else {\n MJNotificationService.Instance.CreateSimpleNotification(\n `Failed to create new category. ${newCategory.LatestResult?.CompleteMessage || ''}`, \n 'error'\n );\n }\n } catch (error) {\n console.error('Error creating new category:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error creating new category. Please try again.', \n 'error'\n );\n }\n }\n }\n\n /** @deprecated Use {@link OnCategoryChange}. */\n async onCategoryChange(value: string) {\n return this.OnCategoryChange(value);\n }\n\n async AddNewTemplateContent() {\n const md = this.ProviderToUse;\n this.NewTemplateContent = await md.GetEntityObject<MJTemplateContentEntity>('MJ: Template Contents');\n this.NewTemplateContent.TemplateID = this.record.ID;\n this.NewTemplateContent.Priority = this.TemplateContents.length + 1;\n this.NewTemplateContent.IsActive = true;\n \n // Set default to first real content type (skip \"Select Type...\" if it exists)\n const validContentTypes = this.ContentTypeOptions.filter(option => option.value !== '');\n if (validContentTypes.length > 0) {\n this.NewTemplateContent.TypeID = validContentTypes[0].value;\n }\n this.NewTemplateContent.TemplateText = '';\n \n // Add immediately to the array\n this.TemplateContents.push(this.NewTemplateContent);\n this.SelectedContentIndex = this.TemplateContents.length - 1;\n this.IsAddingNewContent = true;\n \n // Sync editor value when adding new content\n this.syncEditorValue();\n }\n\n /** @deprecated Use {@link AddNewTemplateContent}. */\n async addNewTemplateContent() {\n return this.AddNewTemplateContent();\n }\n\n CancelNewTemplateContent() {\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n }\n\n /** @deprecated Use {@link CancelNewTemplateContent}. */\n cancelNewTemplateContent() {\n return this.CancelNewTemplateContent();\n }\n\n async DeleteTemplateContent(index: number) {\n if (index >= 0 && index < this.TemplateContents.length) {\n const contentToDelete = this.TemplateContents[index];\n\n if (contentToDelete.ID) {\n try {\n const result = await contentToDelete.Delete();\n if (result) {\n this.TemplateContents.splice(index, 1);\n \n // Adjust selected index if necessary\n if (this.SelectedContentIndex >= this.TemplateContents.length) {\n this.SelectedContentIndex = Math.max(0, this.TemplateContents.length - 1);\n }\n \n // If no contents remain, create a default one\n if (this.TemplateContents.length === 0) {\n await this.CreateDefaultTemplateContent();\n }\n } else {\n console.error('Delete returned false');\n MJNotificationService.Instance.CreateSimpleNotification(`Failed to delete template content. ${contentToDelete.LatestResult.CompleteMessage}`, 'error');\n }\n } catch (error) {\n console.error('Error deleting template content:', error);\n }\n } else {\n // Not saved yet, just remove from array\n this.TemplateContents.splice(index, 1);\n if (this.SelectedContentIndex >= this.TemplateContents.length) {\n this.SelectedContentIndex = Math.max(0, this.TemplateContents.length - 1);\n }\n \n // Reset adding new content state if we're deleting the new content\n if (this.IsAddingNewContent && index === this.TemplateContents.length) {\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n }\n }\n } else {\n console.error('Invalid index for deletion:', index);\n }\n }\n\n /** @deprecated Use {@link DeleteTemplateContent}. */\n async deleteTemplateContent(index: number) {\n return this.DeleteTemplateContent(index);\n }\n\n get CurrentTemplateContent(): MJTemplateContentEntity | null {\n if (this.IsAddingNewContent) {\n return this.NewTemplateContent;\n }\n return this.TemplateContents[this.SelectedContentIndex] || null;\n }\n\n /** @deprecated Use {@link CurrentTemplateContent}. */\n get currentTemplateContent(): MJTemplateContentEntity | null {\n return this.CurrentTemplateContent;\n }\n\n get HasMultipleContents(): boolean {\n return this.TemplateContents.length > 1 || this.IsAddingNewContent;\n }\n\n /** @deprecated Use {@link HasMultipleContents}. */\n get hasMultipleContents(): boolean {\n return this.HasMultipleContents;\n }\n\n OnContentTypeChange() {\n // Content type changes just modify the current content, no new record creation\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnContentTypeChange}. */\n onContentTypeChange() {\n return this.OnContentTypeChange();\n }\n\n OnContentChange() {\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnContentChange}. */\n onContentChange() {\n return this.OnContentChange();\n }\n\n /**\n * Updates the hasUnsavedChanges flag based on entity dirty states\n */\n private updateUnsavedChangesFlag() {\n this.HasUnsavedChanges = this.TemplateContents.some(content => content.Dirty) || \n this.IsAddingNewContent ||\n this.record?.Dirty || false;\n }\n\n OnTemplateTextChange(event: any) {\n if (this.isUpdatingEditorValue) {\n // Ignore change events when we're programmatically updating the editor\n return;\n }\n \n if (this.CurrentTemplateContent) {\n // Extract value from event - might be event.target.value or just event depending on component\n const value = typeof event === 'string' ? event : (event.target?.value || event);\n this.CurrentTemplateContent.TemplateText = value;\n // hasUnsavedChanges is automatically handled by entity's IsDirty flag\n this.updateUnsavedChangesFlag();\n }\n }\n\n /** @deprecated Use {@link OnTemplateTextChange}. */\n onTemplateTextChange(event: any) {\n return this.OnTemplateTextChange(event);\n }\n\n /**\n * Helper method to track setTimeout calls for cleanup\n */\n private setTrackedTimeout(callback: () => void, delay: number): number {\n const timeoutId = setTimeout(() => {\n // Remove from tracking when it executes\n const index = this.activeTimeouts.indexOf(timeoutId);\n if (index > -1) {\n this.activeTimeouts.splice(index, 1);\n }\n callback();\n }, delay) as any as number;\n this.activeTimeouts.push(timeoutId);\n return timeoutId;\n }\n\n /**\n * Manually sync the editor value without triggering change events\n */\n private syncEditorValue() {\n // Use Promise.resolve() to wait for the next microtask after any pending changes\n Promise.resolve().then(() => {\n // Then tracked setTimeout for the next macrotask to ensure DOM is updated\n this.setTrackedTimeout(() => {\n if (!this.CodeEditor) {\n return;\n }\n \n this.isUpdatingEditorValue = true;\n const newValue = this.CurrentTemplateContent?.TemplateText || '';\n \n // Use the setValue method from mj-code-editor component\n this.CodeEditor.setValue(newValue); \n this.isUpdatingEditorValue = false;\n }, 0);\n });\n }\n\n /**\n * The embedded editor's new/dirty Template Contents join this form's pending records, so\n * `InternalSaveRecord()` commits the template and its contents in ONE transaction group (the\n * template first, so the content's TemplateID resolves) and `Validate()` covers the contents too.\n *\n * Before this, the form saved each content on its own AFTER the template save had already been\n * reported as successful; a content whose `Save()` returned false only reached `console.error`,\n * no mutation was issued, and the editor kept showing \"Unsaved changes\" forever.\n */\n protected override PopulatePendingRecords(): void {\n super.PopulatePendingRecords();\n const editorChanges = this.TemplateEditor?.GetPendingChanges() ?? [];\n for (const change of editorChanges) {\n this.PendingRecords.push(change);\n }\n }\n\n async SaveRecord(StopEditModeAfterSave: boolean = true): Promise<boolean> {\n // Check if we need to create a new category first\n if (this.record.CategoryID && !this.CategoryOptions.find(opt => opt.value === this.record.CategoryID)) {\n // Check for duplicate category names (case-insensitive, trimmed)\n if (this.isDuplicateCategory(this.record.CategoryID)) {\n const existingCategory = this.CategoryOptions.find(option => \n option.text && option.text.trim().toLowerCase() === this.record.CategoryID?.trim().toLowerCase()\n );\n if (existingCategory) {\n // Use the existing category instead\n this.record.CategoryID = existingCategory.value;\n MJNotificationService.Instance.CreateSimpleNotification(\n `Category \"${existingCategory.text}\" already exists. Using existing category.`, \n 'warning'\n );\n }\n } else {\n try {\n // Create new category with trimmed name\n const md = this.ProviderToUse;\n const newCategory = await md.GetEntityObject<MJTemplateCategoryEntity>('MJ: Template Categories');\n newCategory.Name = this.record.CategoryID.trim(); // CategoryID contains the new category name, trim it\n newCategory.UserID = this.record.UserID || md.CurrentUser.ID; \n const saved = await newCategory.Save();\n \n if (saved) {\n // Add to options and set the ID\n this.CategoryOptions.push({\n text: newCategory.Name,\n value: newCategory.ID\n });\n this.record.CategoryID = newCategory.ID;\n } else {\n console.error('Failed to create new category');\n MJNotificationService.Instance.CreateSimpleNotification(\n `Failed to create new category. ${newCategory.LatestResult?.CompleteMessage || ''}`, \n 'error'\n );\n return false;\n }\n } catch (error) {\n console.error('Error creating new category during save:', error);\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Error creating new category during save. Please try again.', \n 'error'\n );\n return false;\n }\n }\n }\n\n // Call the parent save method to save the template\n // Before saving, if a new record, make sure the UserID is set\n if (!this.record.IsSaved && !this.record.UserID) {\n const md = this.ProviderToUse;\n this.record.UserID = md.CurrentUser.ID;\n }\n // The template AND the editor's contents commit together here (see PopulatePendingRecords)\n const templateSaved = await super.SaveRecord(StopEditModeAfterSave);\n\n if (templateSaved) {\n this.TemplateEditor?.MarkContentsSaved();\n this.IsAddingNewContent = false;\n this.NewTemplateContent = null;\n this.updateUnsavedChangesFlag();\n }\n\n return templateSaved;\n }\n\n GetContentTypeDisplayText(typeId: string): string {\n if (!typeId) return '-';\n const option = this.ContentTypeOptions.find(opt => opt.value === typeId);\n return option ? option.text : typeId;\n }\n\n /** @deprecated Use {@link GetContentTypeDisplayText}. */\n getContentTypeDisplayText(typeId: string): string {\n return this.GetContentTypeDisplayText(typeId);\n }\n\n GetEditorLanguage(): string {\n if (!this.CurrentTemplateContent?.TypeID) {\n return 'jinja2'; // default to jinja2 for template syntax (compatible with Nunjucks)\n }\n\n const contentType = this.CurrentTemplateContent.TypeID.toLowerCase();\n \n // Map content types to CodeMirror language modes\n switch (contentType) {\n case 'html':\n return 'jinja2'; // Use jinja2 for HTML templates to get template syntax highlighting\n case 'markdown':\n case 'md':\n return 'markdown';\n case 'javascript':\n case 'js':\n return 'javascript';\n case 'css':\n return 'css';\n case 'json':\n return 'json';\n case 'xml':\n return 'xml';\n case 'sql':\n return 'sql';\n case 'text':\n case 'plain':\n default:\n return 'jinja2'; // Default to jinja2 since templates often contain template syntax\n }\n }\n\n /** @deprecated Use {@link GetEditorLanguage}. */\n getEditorLanguage(): string {\n return this.GetEditorLanguage();\n }\n\n private isDuplicateCategory(categoryName: string): boolean {\n const normalizedName = categoryName.trim().toLowerCase();\n return this.CategoryOptions.some(option => \n option.text && option.text.trim().toLowerCase() === normalizedName\n );\n }\n\n /**\n * Test run the current template using the parameter dialog\n */\n async RunTemplate() {\n if (!this.record?.IsSaved || !this.CurrentTemplateContent) {\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Please save the template before running it.', \n 'warning'\n );\n return;\n }\n\n // Save any unsaved changes first\n if (this.HasUnsavedChanges) {\n const saveResult = await this.SaveRecord(false); // Don't exit edit mode\n if (!saveResult) {\n MJNotificationService.Instance.CreateSimpleNotification(\n 'Failed to save template changes.', \n 'error'\n );\n return;\n }\n }\n\n // Show the parameter dialog\n this.ShowParamDialog = true;\n }\n\n /** @deprecated Use {@link RunTemplate}. */\n async runTemplate() {\n return this.RunTemplate();\n }\n\n /**\n * Handle parameter dialog close\n */\n OnParamDialogClose() {\n this.ShowParamDialog = false;\n }\n\n /** @deprecated Use {@link OnParamDialogClose}. */\n onParamDialogClose() {\n return this.OnParamDialogClose();\n }\n\n GetContentTypeOptionsForContent(): Array<{text: string, value: string}> {\n // Always exclude \"Select Type...\" option for all content\n return this.ContentTypeOptions.filter(option => option.value !== '');\n }\n\n /** @deprecated Use {@link GetContentTypeOptionsForContent}. */\n getContentTypeOptionsForContent(): Array<{text: string, value: string}> {\n return this.GetContentTypeOptionsForContent();\n }\n\n /**\n * Handles template content changes from the shared editor\n */\n public OnSharedTemplateContentChange(content: MJTemplateContentEntity[]) {\n this.TemplateContents = content;\n this.updateUnsavedChangesFlag();\n }\n\n /** @deprecated Use {@link OnSharedTemplateContentChange}. */\n public onSharedTemplateContentChange(content: MJTemplateContentEntity[]) {\n return this.OnSharedTemplateContentChange(content);\n }\n\n /**\n * Handles template run requests from the shared editor\n */\n public OnSharedTemplateRun(template: MJTemplateEntity) {\n this.RunTemplate();\n }\n\n /** @deprecated Use {@link OnSharedTemplateRun}. */\n public onSharedTemplateRun(template: MJTemplateEntity) {\n return this.OnSharedTemplateRun(template);\n }\n\n} \n","@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n [ToolbarConfig]=\"toolbarConfig\"\n [WidthMode]=\"'full-width'\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n\n <!-- Main Content Area -->\n <div class=\"template-main-area\" style=\"display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto;\">\n\n <!-- Header Section -->\n <div class=\"template-header-area\">\n <div style=\"display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;\">\n\n <!-- Left: Template Info -->\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i class=\"fa-solid fa-file-code template-icon\"></i>\n @if (EditMode) {\n <input type=\"text\" class=\"mj-input\"\n [(ngModel)]=\"record.Name\"\n name=\"templateName\"\n placeholder=\"Enter template name...\"\n style=\"font-size: 1.2em; font-weight: 600; min-width: 300px; flex: 1;\" />\n } @else {\n <h4>{{ record.Name || 'Unnamed Template' }}</h4>\n @if (record.IsActive) {\n <span class=\"active-badge\">\n <i class=\"fa-solid fa-check-circle\"></i> Active\n </span>\n } @else {\n <span class=\"inactive-badge\">\n <i class=\"fa-solid fa-pause-circle\"></i> Inactive\n </span>\n }\n }\n </div>\n\n <!-- Category and Active toggle when in edit mode -->\n @if (EditMode) {\n <div style=\"display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; align-items: center;\">\n <div>\n <label class=\"field-label\">Category</label>\n <mj-combobox [(ngModel)]=\"record.CategoryID\"\n name=\"categoryId\"\n [Data]=\"categoryOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [AllowCustom]=\"true\"\n (ValueChange)=\"onCategoryChange($any($event))\"\n Placeholder=\"Select or enter new category...\"\n style=\"width: 250px;\">\n </mj-combobox>\n </div>\n <div>\n <label class=\"field-label\">Active</label>\n <mj-switch [(ngModel)]=\"record.IsActive\" name=\"isActive\"></mj-switch>\n </div>\n </div>\n }\n\n @if (EditMode) {\n <textarea class=\"mj-textarea\"\n [(ngModel)]=\"record.Description\"\n name=\"description\"\n [rows]=\"2\"\n placeholder=\"Enter template description...\"\n style=\"width: 100%; max-width: 600px; margin-bottom: 12px;\"></textarea>\n } @else if (record.Description) {\n <p class=\"description-text\">{{ record.Description }}</p>\n }\n\n <!-- Quick Info Row -->\n <div style=\"display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n @if (record.Category) {\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-folder meta-icon\"></i>\n <span class=\"meta-label\">Category:</span>\n <span class=\"meta-value\">{{ record.Category }}</span>\n </div>\n }\n\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-file-lines meta-icon\"></i>\n <span class=\"meta-label\">Contents:</span>\n <span class=\"meta-value\">{{ templateContents.length }}</span>\n </div>\n </div>\n </div>\n\n <!-- Right: Action Buttons -->\n <div style=\"display: flex; flex-direction: column; gap: 8px; align-items: flex-end;\">\n @if (record.IsSaved) {\n <button class=\"run-template-btn\"\n (click)=\"runTemplate()\"\n title=\"Run Template\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Configuration Sections with Expansion Panels -->\n <div class=\"configuration-sections\">\n\n <!-- Template Editor Section -->\n <mj-accordion-panel\n [Expanded]=\"true\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Template Editor\n @if (templateContents.length > 0) {\n <span class=\"count-badge\">{{ templateContents.length }}</span>\n }\n </span>\n </ng-template>\n\n <div style=\"padding: 8px; min-height: 400px;\">\n <mj-template-editor\n #templateEditor\n [template]=\"record\"\n [config]=\"templateEditorConfig\"\n (contentChange)=\"onSharedTemplateContentChange($event)\"\n (runTemplate)=\"onSharedTemplateRun($event)\"\n style=\"height: 100%; display: block;\">\n </mj-template-editor>\n </div>\n </mj-accordion-panel>\n\n <!-- Details Section -->\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Details\n </span>\n </ng-template>\n\n <div style=\"padding: 16px;\">\n <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 20px;\">\n <!-- Left Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserPrompt\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n LinkType=\"Record\"\n LinkComponentType=\"Search\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ActiveAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"DisabledAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n\n <!-- Right Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"IsActive\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_UpdatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Category\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"User\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n\n <!-- Template Parameters Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Parameters\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-template-params-grid\n [template]=\"record\"\n [editMode]=\"EditMode\">\n </mj-template-params-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- AI Prompts Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-robot\"></i>\n AI Prompts\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompts','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompts')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Entity Documents Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-file-text\"></i>\n Entity Documents\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Documents','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Documents')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n </div>\n </div>\n </form>\n</mj-record-form-container>\n\n<!-- Template Parameter Dialog -->\n<mj-template-param-dialog\n [template]=\"record\"\n [(isVisible)]=\"showParamDialog\"\n (onClose)=\"onParamDialogClose()\">\n</mj-template-param-dialog>\n}\n"]}
@@ -166,6 +166,10 @@ export declare class MJTestFormComponentExtended extends MJTestFormComponent imp
166
166
  /** @deprecated Use {@link IsSaving}. */
167
167
  set isSaving(value: boolean);
168
168
  TestTypeOptions: MJTestTypeEntity[];
169
+ RubricOptions: {
170
+ id: string;
171
+ name: string;
172
+ }[];
169
173
  /** @deprecated Use {@link TestTypeOptions}. */
170
174
  get testTypeOptions(): MJTestTypeEntity[];
171
175
  /** @deprecated Use {@link TestTypeOptions}. */
@@ -326,6 +330,8 @@ export declare class MJTestFormComponentExtended extends MJTestFormComponent imp
326
330
  get dirtyFieldNames(): string[];
327
331
  /** Parsed tags as a plain array — derived from record.Tags JSON. */
328
332
  get tags(): string[];
333
+ /** Active rubrics for the RubricID picker. */
334
+ private loadRubricOptions;
329
335
  /** Load test types for the Type dropdown. */
330
336
  private loadTestTypeOptions;
331
337
  /** Save all pending changes on the test record. */
@@ -1 +1 @@
1
- {"version":3,"file":"test-form.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Tests/test-form.component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test-form.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Tests/test-form.component.ts"],"names":[],"mappings":"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"}