@memberjunction/ng-core-entity-forms 6.1.0-edge.2 → 6.1.0-edge.4

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 (499) hide show
  1. package/LICENSE +180 -4
  2. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts +12 -0
  3. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts.map +1 -0
  4. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js +138 -0
  5. package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js.map +1 -0
  6. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +20 -0
  7. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts.map +1 -0
  8. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +173 -0
  9. package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -0
  10. package/dist/lib/custom/Actions/action-execution-log-form.component.js +193 -182
  11. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  12. package/dist/lib/custom/Companies/company-header.panel.d.ts +12 -0
  13. package/dist/lib/custom/Companies/company-header.panel.d.ts.map +1 -0
  14. package/dist/lib/custom/Companies/company-header.panel.js +190 -0
  15. package/dist/lib/custom/Companies/company-header.panel.js.map +1 -0
  16. package/dist/lib/custom/Companies/company-overview.panel.d.ts +21 -0
  17. package/dist/lib/custom/Companies/company-overview.panel.d.ts.map +1 -0
  18. package/dist/lib/custom/Companies/company-overview.panel.js +180 -0
  19. package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -0
  20. package/dist/lib/custom/Conversations/conversation-header.panel.d.ts +12 -0
  21. package/dist/lib/custom/Conversations/conversation-header.panel.d.ts.map +1 -0
  22. package/dist/lib/custom/Conversations/conversation-header.panel.js +150 -0
  23. package/dist/lib/custom/Conversations/conversation-header.panel.js.map +1 -0
  24. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +23 -0
  25. package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -0
  26. package/dist/lib/custom/Conversations/conversation-overview.panel.js +199 -0
  27. package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -0
  28. package/dist/lib/custom/Employees/employee-header.panel.d.ts +12 -0
  29. package/dist/lib/custom/Employees/employee-header.panel.d.ts.map +1 -0
  30. package/dist/lib/custom/Employees/employee-header.panel.js +180 -0
  31. package/dist/lib/custom/Employees/employee-header.panel.js.map +1 -0
  32. package/dist/lib/custom/Employees/employee-overview.panel.d.ts +21 -0
  33. package/dist/lib/custom/Employees/employee-overview.panel.d.ts.map +1 -0
  34. package/dist/lib/custom/Employees/employee-overview.panel.js +180 -0
  35. package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -0
  36. package/dist/lib/custom/Entities/entity-form.component.d.ts +4 -1
  37. package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
  38. package/dist/lib/custom/Entities/entity-form.component.js +216 -173
  39. package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
  40. package/dist/lib/custom/Files/file-form.component.d.ts +40 -0
  41. package/dist/lib/custom/Files/file-form.component.d.ts.map +1 -0
  42. package/dist/lib/custom/Files/file-form.component.js +654 -0
  43. package/dist/lib/custom/Files/file-form.component.js.map +1 -0
  44. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts +101 -0
  45. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts.map +1 -0
  46. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js +1202 -0
  47. package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js.map +1 -0
  48. package/dist/lib/custom/Users/user-header.panel.d.ts +12 -0
  49. package/dist/lib/custom/Users/user-header.panel.d.ts.map +1 -0
  50. package/dist/lib/custom/Users/user-header.panel.js +164 -0
  51. package/dist/lib/custom/Users/user-header.panel.js.map +1 -0
  52. package/dist/lib/custom/Users/user-overview.panel.d.ts +19 -0
  53. package/dist/lib/custom/Users/user-overview.panel.d.ts.map +1 -0
  54. package/dist/lib/custom/Users/user-overview.panel.js +172 -0
  55. package/dist/lib/custom/Users/user-overview.panel.js.map +1 -0
  56. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +18 -1
  57. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
  58. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +118 -75
  59. package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
  60. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +46 -1
  61. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  62. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +141 -18
  63. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  64. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +4 -4
  65. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  66. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts +9 -1
  67. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts.map +1 -1
  68. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js +85 -8
  69. package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js.map +1 -1
  70. package/dist/lib/custom/custom-forms.module.d.ts +33 -29
  71. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  72. package/dist/lib/custom/custom-forms.module.js +23 -8
  73. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  74. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js +3 -3
  75. package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js.map +1 -1
  76. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +300 -294
  77. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  78. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js +31 -23
  79. package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js.map +1 -1
  80. package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js +3 -3
  81. package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js.map +1 -1
  82. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js +14 -16
  83. package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js.map +1 -1
  84. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +2 -2
  85. package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
  86. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js +2 -2
  87. package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js.map +1 -1
  88. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +123 -117
  89. package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
  90. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +35 -27
  91. package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
  92. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +47 -49
  93. package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
  94. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js +2 -2
  95. package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js.map +1 -1
  96. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js +3 -3
  97. package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js.map +1 -1
  98. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js +3 -3
  99. package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js.map +1 -1
  100. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js +30 -22
  101. package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js.map +1 -1
  102. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js +4 -4
  103. package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js.map +1 -1
  104. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +2 -2
  105. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -1
  106. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js +72 -64
  107. package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js.map +1 -1
  108. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js +8 -8
  109. package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js.map +1 -1
  110. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +28 -28
  111. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
  112. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js +2 -2
  113. package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js.map +1 -1
  114. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js +2 -2
  115. package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js.map +1 -1
  116. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js +3 -3
  117. package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js.map +1 -1
  118. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js +2 -2
  119. package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js.map +1 -1
  120. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +171 -173
  121. package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
  122. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.d.ts.map +1 -1
  123. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js +33 -19
  124. package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js.map +1 -1
  125. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js +2 -2
  126. package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js.map +1 -1
  127. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +85 -79
  128. package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
  129. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js +2 -2
  130. package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js.map +1 -1
  131. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js +2 -2
  132. package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js.map +1 -1
  133. package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js +7 -7
  134. package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js.map +1 -1
  135. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +11 -11
  136. package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
  137. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js +3 -3
  138. package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js.map +1 -1
  139. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js +4 -4
  140. package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js.map +1 -1
  141. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js +4 -4
  142. package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js +36 -28
  144. package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js.map +1 -1
  145. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +108 -100
  146. package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
  147. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js +36 -28
  148. package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js.map +1 -1
  149. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js +2 -2
  150. package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js.map +1 -1
  151. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js +3 -3
  152. package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js.map +1 -1
  153. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js +2 -2
  154. package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js.map +1 -1
  155. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js +2 -2
  156. package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js.map +1 -1
  157. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js +11 -11
  158. package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js.map +1 -1
  159. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js +3 -3
  160. package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js.map +1 -1
  161. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js +2 -2
  162. package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js.map +1 -1
  163. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js +4 -4
  164. package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js.map +1 -1
  165. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js +48 -40
  166. package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js.map +1 -1
  167. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js +7 -7
  168. package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js.map +1 -1
  169. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js +29 -21
  170. package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js.map +1 -1
  171. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts +10 -0
  172. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts.map +1 -0
  173. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js +108 -0
  174. package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js.map +1 -0
  175. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js +50 -42
  176. package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js.map +1 -1
  177. package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js +2 -2
  178. package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js.map +1 -1
  179. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js +44 -36
  180. package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js.map +1 -1
  181. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js +3 -3
  182. package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js.map +1 -1
  183. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +2 -2
  184. package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
  185. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js +2 -2
  186. package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js.map +1 -1
  187. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js +2 -2
  188. package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js.map +1 -1
  189. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js +7 -7
  190. package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js.map +1 -1
  191. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.d.ts.map +1 -1
  192. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js +32 -14
  193. package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js.map +1 -1
  194. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js +3 -3
  195. package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js.map +1 -1
  196. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.d.ts.map +1 -1
  197. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js +44 -26
  198. package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js.map +1 -1
  199. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js +2 -2
  200. package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js.map +1 -1
  201. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +5 -5
  202. package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
  203. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js +2 -2
  204. package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js.map +1 -1
  205. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js +2 -2
  206. package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js.map +1 -1
  207. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js +3 -3
  208. package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js.map +1 -1
  209. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js +60 -52
  210. package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js.map +1 -1
  211. package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js +28 -20
  212. package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js.map +1 -1
  213. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js +2 -2
  214. package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js.map +1 -1
  215. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js +2 -2
  216. package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js.map +1 -1
  217. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +6 -6
  218. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
  219. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js +4 -4
  220. package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js.map +1 -1
  221. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +3 -3
  222. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
  223. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +77 -79
  224. package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
  225. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js +4 -4
  226. package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js.map +1 -1
  227. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js +2 -2
  228. package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js.map +1 -1
  229. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +76 -68
  230. package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
  231. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js +3 -3
  232. package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js.map +1 -1
  233. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
  234. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +42 -24
  235. package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
  236. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.d.ts.map +1 -1
  237. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js +33 -19
  238. package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js.map +1 -1
  239. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js +6 -6
  240. package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js.map +1 -1
  241. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js +5 -5
  242. package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js.map +1 -1
  243. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.d.ts.map +1 -1
  244. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js +47 -33
  245. package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js.map +1 -1
  246. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js +3 -3
  247. package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js.map +1 -1
  248. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js +2 -2
  249. package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js.map +1 -1
  250. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js +2 -2
  251. package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js.map +1 -1
  252. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +2 -2
  253. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
  254. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js +6 -6
  255. package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js.map +1 -1
  256. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js +2 -2
  257. package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js.map +1 -1
  258. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js +2 -2
  259. package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js.map +1 -1
  260. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js +2 -2
  261. package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js.map +1 -1
  262. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
  263. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +622 -530
  264. package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
  265. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js +5 -5
  266. package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js.map +1 -1
  267. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js +3 -3
  268. package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js.map +1 -1
  269. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js +2 -2
  270. package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js.map +1 -1
  271. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +5 -5
  272. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
  273. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +2 -2
  274. package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
  275. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
  276. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +28 -18
  277. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  278. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js +2 -2
  279. package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js.map +1 -1
  280. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js +2 -2
  281. package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js.map +1 -1
  282. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js +10 -8
  283. package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js.map +1 -1
  284. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js +2 -2
  285. package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js.map +1 -1
  286. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +8 -8
  287. package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
  288. package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js +2 -2
  289. package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js.map +1 -1
  290. package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js +2 -2
  291. package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js.map +1 -1
  292. package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js +2 -2
  293. package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js.map +1 -1
  294. package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js +3 -3
  295. package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js.map +1 -1
  296. package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js +2 -2
  297. package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js.map +1 -1
  298. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +9 -9
  299. package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
  300. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.d.ts.map +1 -1
  301. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js +33 -19
  302. package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js.map +1 -1
  303. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js +7 -7
  304. package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js.map +1 -1
  305. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js +6 -6
  306. package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js.map +1 -1
  307. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts +10 -0
  308. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts.map +1 -0
  309. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js +82 -0
  310. package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js.map +1 -0
  311. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.d.ts.map +1 -1
  312. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js +33 -19
  313. package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js.map +1 -1
  314. package/dist/lib/generated/Entities/MJIdentityClaim/mjidentityclaim.form.component.d.ts +10 -0
  315. package/dist/lib/generated/Entities/MJIdentityClaim/mjidentityclaim.form.component.d.ts.map +1 -0
  316. package/dist/lib/generated/Entities/MJIdentityClaim/mjidentityclaim.form.component.js +100 -0
  317. package/dist/lib/generated/Entities/MJIdentityClaim/mjidentityclaim.form.component.js.map +1 -0
  318. package/dist/lib/generated/Entities/MJIdentityClaimType/mjidentityclaimtype.form.component.d.ts +10 -0
  319. package/dist/lib/generated/Entities/MJIdentityClaimType/mjidentityclaimtype.form.component.d.ts.map +1 -0
  320. package/dist/lib/generated/Entities/MJIdentityClaimType/mjidentityclaimtype.form.component.js +97 -0
  321. package/dist/lib/generated/Entities/MJIdentityClaimType/mjidentityclaimtype.form.component.js.map +1 -0
  322. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +5 -5
  323. package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
  324. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +3 -3
  325. package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
  326. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js +2 -2
  327. package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js.map +1 -1
  328. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js +3 -3
  329. package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js.map +1 -1
  330. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js +6 -6
  331. package/dist/lib/generated/Entities/MJList/mjlist.form.component.js.map +1 -1
  332. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.d.ts.map +1 -1
  333. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js +33 -19
  334. package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js.map +1 -1
  335. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js +4 -4
  336. package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js.map +1 -1
  337. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js +7 -7
  338. package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js.map +1 -1
  339. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js +4 -4
  340. package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js.map +1 -1
  341. package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js +5 -5
  342. package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js.map +1 -1
  343. package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js +2 -2
  344. package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js.map +1 -1
  345. package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js +3 -3
  346. package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js.map +1 -1
  347. package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js +3 -3
  348. package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js.map +1 -1
  349. package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.d.ts.map +1 -1
  350. package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js +32 -14
  351. package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js.map +1 -1
  352. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts +10 -0
  353. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts.map +1 -0
  354. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js +117 -0
  355. package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js.map +1 -0
  356. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts +10 -0
  357. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts.map +1 -0
  358. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js +58 -0
  359. package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js.map +1 -0
  360. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +4 -4
  361. package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
  362. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +2 -2
  363. package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
  364. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +38 -30
  365. package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
  366. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
  367. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +85 -65
  368. package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
  369. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.d.ts.map +1 -1
  370. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js +33 -19
  371. package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js.map +1 -1
  372. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js +2 -2
  373. package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js.map +1 -1
  374. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js +2 -2
  375. package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js.map +1 -1
  376. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts +10 -0
  377. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts.map +1 -0
  378. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js +64 -0
  379. package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js.map +1 -0
  380. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js +2 -2
  381. package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js.map +1 -1
  382. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js +2 -2
  383. package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js.map +1 -1
  384. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js +2 -2
  385. package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js.map +1 -1
  386. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +21 -23
  387. package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
  388. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js +2 -2
  389. package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js.map +1 -1
  390. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js +3 -3
  391. package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js.map +1 -1
  392. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +4 -4
  393. package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
  394. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.d.ts.map +1 -1
  395. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js +33 -19
  396. package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js.map +1 -1
  397. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.d.ts.map +1 -1
  398. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js +33 -19
  399. package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js.map +1 -1
  400. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +6 -6
  401. package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
  402. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +17 -17
  403. package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
  404. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +7 -7
  405. package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
  406. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js +3 -3
  407. package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js.map +1 -1
  408. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js +4 -4
  409. package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js.map +1 -1
  410. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js +4 -4
  411. package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js.map +1 -1
  412. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js +2 -2
  413. package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js.map +1 -1
  414. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js +2 -2
  415. package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js.map +1 -1
  416. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js +10 -10
  417. package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js.map +1 -1
  418. package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js +2 -2
  419. package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js.map +1 -1
  420. package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js +2 -2
  421. package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js.map +1 -1
  422. package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js +4 -4
  423. package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js.map +1 -1
  424. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js +29 -21
  425. package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js.map +1 -1
  426. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js +2 -2
  427. package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js.map +1 -1
  428. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.d.ts.map +1 -1
  429. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js +104 -92
  430. package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js.map +1 -1
  431. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.d.ts.map +1 -1
  432. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js +47 -33
  433. package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js.map +1 -1
  434. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js +2 -2
  435. package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js.map +1 -1
  436. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js +10 -10
  437. package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js.map +1 -1
  438. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.d.ts.map +1 -1
  439. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js +33 -19
  440. package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js.map +1 -1
  441. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js +2 -2
  442. package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js.map +1 -1
  443. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +2 -2
  444. package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
  445. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +3 -3
  446. package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
  447. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js +7 -7
  448. package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js.map +1 -1
  449. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js +2 -2
  450. package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js.map +1 -1
  451. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +39 -31
  452. package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
  453. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +2 -2
  454. package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
  455. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js +3 -3
  456. package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js.map +1 -1
  457. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
  458. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +230 -212
  459. package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
  460. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js +2 -2
  461. package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js.map +1 -1
  462. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js +3 -3
  463. package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js.map +1 -1
  464. package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js +3 -3
  465. package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js.map +1 -1
  466. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js +6 -6
  467. package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js.map +1 -1
  468. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.d.ts.map +1 -1
  469. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js +33 -19
  470. package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js.map +1 -1
  471. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js +2 -2
  472. package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js.map +1 -1
  473. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +3 -3
  474. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
  475. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +6 -6
  476. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
  477. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js +44 -36
  478. package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js.map +1 -1
  479. package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js +2 -2
  480. package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js.map +1 -1
  481. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +2 -2
  482. package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
  483. package/dist/lib/generated/generated-forms.module.d.ts +298 -286
  484. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  485. package/dist/lib/generated/generated-forms.module.js +197 -146
  486. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  487. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts +37 -0
  488. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts.map +1 -0
  489. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js +185 -0
  490. package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js.map +1 -0
  491. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts +20 -0
  492. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts.map +1 -0
  493. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js +87 -0
  494. package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js.map +1 -0
  495. package/dist/public-api.d.ts +12 -0
  496. package/dist/public-api.d.ts.map +1 -1
  497. package/dist/public-api.js +14 -2
  498. package/dist/public-api.js.map +1 -1
  499. package/package.json +44 -42
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hierarchy-form-panels.js","sourceRoot":"","sources":["../../../../src/lib/custom/HierarchyPanels/hierarchy-form-panels.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectionStrategy, Directive } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BaseEntity } from '@memberjunction/core';\nimport { RegisterClassEx } from '@memberjunction/global';\nimport { BaseFormPanel, BaseFormsModule, FormNavigationEvent } from '@memberjunction/ng-base-forms';\nimport { HierarchyTreeComponent, HierarchyTreeConfig } from '@memberjunction/ng-hierarchy-tree';\nimport {\n UserInfoEngine,\n MJAIAgentCategoryEntity,\n MJAIPromptCategoryEntity,\n MJActionCategoryEntity,\n MJDashboardCategoryEntity,\n MJQueryCategoryEntity,\n MJTagEntity,\n MJProjectEntity,\n MJContentItemEntity,\n MJFileCategoryEntity,\n MJListCategoryEntity,\n MJRecordProcessCategoryEntity,\n MJSkillEntity,\n MJTemplateCategoryEntity,\n MJTestSuiteEntity,\n MJUserViewCategoryEntity\n} from '@memberjunction/core-entities';\n\n/**\n * Base class for hierarchy form panels providing shared height, zoom persistence via UserInfoEngine,\n * and unified navigation event handling.\n */\n@Directive()\nexport abstract class BaseHierarchyFormPanel<TRecord extends BaseEntity> extends BaseFormPanel<TRecord> {\n private _cachedTreeConfig: HierarchyTreeConfig | null = null;\n private _cachedRecordId: string | null = null;\n\n public get treeConfig(): HierarchyTreeConfig {\n const recId = this.Record?.PrimaryKey ? this.Record.PrimaryKey.ToString() : null;\n if (!this._cachedTreeConfig || this._cachedRecordId !== recId) {\n this._cachedRecordId = recId;\n this._cachedTreeConfig = this.buildTreeConfig();\n }\n return this._cachedTreeConfig;\n }\n\n protected abstract buildTreeConfig(): HierarchyTreeConfig;\n\n protected get settingKey(): string {\n const entityName = this.Record?.EntityInfo?.Name || this.treeConfig.EntityName || 'default';\n const sanitized = entityName.toLowerCase().replace(/[^a-z0-9_]/g, '_');\n return `mj.hierarchyTree.zoom.${sanitized}`;\n }\n\n public get persistedZoomLevel(): number | undefined {\n const raw = UserInfoEngine.Instance.GetSetting(this.settingKey);\n return raw ? parseFloat(raw) : undefined;\n }\n\n public onZoomChange(zoom: number): void {\n UserInfoEngine.Instance.SetSettingDebounced(this.settingKey, zoom.toFixed(2));\n }\n\n public onNavigate(event: FormNavigationEvent): void {\n if (this.FormComponent?.OnFormNavigate) {\n this.FormComponent.OnFormNavigate(event);\n }\n }\n}\n\n// ============================================================================\n// 1. AI Agent Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:AI Agent Categories:hierarchy',\n metadata: {\n entity: 'MJ: AI Agent Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: AI Agent Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-ai-agent-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"agentCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class AIAgentCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJAIAgentCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: AI Agent Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-robot',\n DefaultColor: '#8b5cf6',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 2. AI Prompt Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:AI Prompt Categories:hierarchy',\n metadata: {\n entity: 'MJ: AI Prompt Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: AI Prompt Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-ai-prompt-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"promptCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class AIPromptCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJAIPromptCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: AI Prompt Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-wand-magic-sparkles',\n DefaultColor: '#ec4899',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 3. Action Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Action Categories:hierarchy',\n metadata: {\n entity: 'MJ: Action Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Action Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-action-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"actionCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class ActionCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJActionCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Action Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-bolt',\n DefaultColor: '#f59e0b',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 4. Dashboard Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Dashboard Categories:hierarchy',\n metadata: {\n entity: 'MJ: Dashboard Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Dashboard Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-dashboard-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"dashboardCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class DashboardCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJDashboardCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Dashboard Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-chart-pie',\n DefaultColor: '#06b6d4',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 5. Query Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Query Categories:hierarchy',\n metadata: {\n entity: 'MJ: Query Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Query Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-query-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"queryCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class QueryCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJQueryCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Query Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-database',\n DefaultColor: '#10b981',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 6. Tags\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Tags:hierarchy',\n metadata: {\n entity: 'MJ: Tags',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Tags',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-tag-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"tagHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class TagHierarchyPanel extends BaseHierarchyFormPanel<MJTagEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Tags',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-tag',\n DefaultColor: '#6366f1',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 7. Projects (WBS / Subprojects)\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Projects:hierarchy',\n metadata: {\n entity: 'MJ: Projects',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Projects',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-project-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"projectHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class ProjectHierarchyPanel extends BaseHierarchyFormPanel<MJProjectEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Projects',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-diagram-project',\n DefaultColor: '#3b82f6',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 8. Content Items\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Content Items:hierarchy',\n metadata: {\n entity: 'MJ: Content Items',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Content Items',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-content-item-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"contentItemHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class ContentItemHierarchyPanel extends BaseHierarchyFormPanel<MJContentItemEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Content Items',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-newspaper',\n DefaultColor: '#14b8a6',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 9. File Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:File Categories:hierarchy',\n metadata: {\n entity: 'MJ: File Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: File Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-file-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"fileCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class FileCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJFileCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: File Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-folder-tree',\n DefaultColor: '#0284c7',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 10. List Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:List Categories:hierarchy',\n metadata: {\n entity: 'MJ: List Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: List Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-list-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"listCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class ListCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJListCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: List Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-list-check',\n DefaultColor: '#84cc16',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 11. Record Process Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Record Process Categories:hierarchy',\n metadata: {\n entity: 'MJ: Record Process Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Record Process Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-record-process-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"recordProcessCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class RecordProcessCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJRecordProcessCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Record Process Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-gears',\n DefaultColor: '#f97316',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 12. Skills\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Skills:hierarchy',\n metadata: {\n entity: 'MJ: Skills',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Skills',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-skill-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"skillHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class SkillHierarchyPanel extends BaseHierarchyFormPanel<MJSkillEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Skills',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-brain',\n DefaultColor: '#a855f7',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 13. Template Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Template Categories:hierarchy',\n metadata: {\n entity: 'MJ: Template Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Template Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-template-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"templateCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class TemplateCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJTemplateCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Template Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-file-code',\n DefaultColor: '#0ea5e9',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 14. Test Suites\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Test Suites:hierarchy',\n metadata: {\n entity: 'MJ: Test Suites',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: Test Suites',\n relatedJoinField: 'ParentSuiteID'\n }\n})\n@Component({\n selector: 'mj-test-suite-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"testSuiteHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class TestSuiteHierarchyPanel extends BaseHierarchyFormPanel<MJTestSuiteEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: Test Suites',\n ParentField: 'ParentSuiteID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-vial-circle-check',\n DefaultColor: '#10b981',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n// ============================================================================\n// 15. User View Categories\n// ============================================================================\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:User View Categories:hierarchy',\n metadata: {\n entity: 'MJ: User View Categories',\n slot: 'after-related',\n sortKey: 50,\n relatedEntity: 'MJ: User View Categories',\n relatedJoinField: 'ParentID'\n }\n})\n@Component({\n selector: 'mj-user-view-category-hierarchy-panel',\n standalone: true,\n imports: [CommonModule, BaseFormsModule, HierarchyTreeComponent],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mj-collapsible-panel\n SectionKey=\"userViewCategoryHierarchy\"\n SectionName=\"Hierarchy\"\n Icon=\"fa-solid fa-sitemap\"\n Variant=\"related-entity\"\n [Form]=\"FormComponent\"\n [FormContext]=\"FormContext\"\n [DefaultExpanded]=\"true\">\n @if (Record.IsSaved) {\n <mj-hierarchy-tree\n [Config]=\"treeConfig\"\n [ZoomLevel]=\"persistedZoomLevel\"\n (ZoomChange)=\"onZoomChange($event)\"\n (Navigate)=\"onNavigate($event)\">\n </mj-hierarchy-tree>\n }\n </mj-collapsible-panel>\n `,\n styles: [`:host { display: flex; flex-direction: column; width: 100%; height: 100%; min-height: 640px; min-height: calc(100vh - 280px); flex: 1; margin-bottom: 20px; }`]\n})\nexport class UserViewCategoryHierarchyPanel extends BaseHierarchyFormPanel<MJUserViewCategoryEntity> {\n protected buildTreeConfig(): HierarchyTreeConfig {\n return {\n EntityName: 'MJ: User View Categories',\n ParentField: 'ParentID',\n SubtitleField: 'Description',\n DefaultIcon: 'fa-solid fa-table-list',\n DefaultColor: '#6366f1',\n ActiveRecordID: this.Record?.ID || undefined,\n Height: '100%',\n MinHeight: '640px',\n ShowSearch: true,\n ShowToolbar: true,\n NavigateOnNodeClick: true\n };\n }\n}\n\n/**\n * Array of all hierarchy form panel components for registration and module imports.\n */\nexport const HIERARCHY_FORM_PANELS = [\n AIAgentCategoryHierarchyPanel,\n AIPromptCategoryHierarchyPanel,\n ActionCategoryHierarchyPanel,\n DashboardCategoryHierarchyPanel,\n QueryCategoryHierarchyPanel,\n TagHierarchyPanel,\n ProjectHierarchyPanel,\n ContentItemHierarchyPanel,\n FileCategoryHierarchyPanel,\n ListCategoryHierarchyPanel,\n RecordProcessCategoryHierarchyPanel,\n SkillHierarchyPanel,\n TemplateCategoryHierarchyPanel,\n TestSuiteHierarchyPanel,\n UserViewCategoryHierarchyPanel\n];\n"]}
@@ -0,0 +1,12 @@
1
+ import { BaseFormPanel } from '@memberjunction/ng-base-forms';
2
+ import { MJUserEntity } from '@memberjunction/core-entities';
3
+ import * as i0 from "@angular/core";
4
+ export declare class UserHeaderPanel extends BaseFormPanel<MJUserEntity> {
5
+ IsCollapsed: boolean;
6
+ ngOnInit(): void;
7
+ get User(): MJUserEntity | null;
8
+ ToggleCollapsed(): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserHeaderPanel, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserHeaderPanel, "mj-user-header-panel", never, {}, {}, never, never, true, never>;
11
+ }
12
+ //# sourceMappingURL=user-header.panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-header.panel.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Users/user-header.panel.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAkB,MAAM,+BAA+B,CAAC;;AAI7E,qBAuFa,eAAgB,SAAQ,aAAa,CAAC,YAAY,CAAC;IACrD,WAAW,UAAS;IAEpB,QAAQ,IAAI,IAAI;IAKvB,IAAW,IAAI,IAAI,YAAY,GAAG,IAAI,CAErC;IAEM,eAAe,IAAI,IAAI;yCAZrB,eAAe;2CAAf,eAAe;CAgB3B"}
@@ -0,0 +1,164 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component, ChangeDetectionStrategy } from '@angular/core';
8
+ import { CommonModule } from '@angular/common';
9
+ import { RegisterClassEx } from '@memberjunction/global';
10
+ import { BaseFormPanel } from '@memberjunction/ng-base-forms';
11
+ import { UserInfoEngine } from '@memberjunction/core-entities';
12
+ import * as i0 from "@angular/core";
13
+ function UserHeaderPanel_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
14
+ i0.ɵɵdomElementStart(0, "span");
15
+ i0.ɵɵtext(1, "\u2022");
16
+ i0.ɵɵdomElementEnd();
17
+ i0.ɵɵdomElementStart(2, "span");
18
+ i0.ɵɵtext(3);
19
+ i0.ɵɵdomElementEnd();
20
+ } if (rf & 2) {
21
+ const ctx_r1 = i0.ɵɵnextContext(2);
22
+ i0.ɵɵadvance(3);
23
+ i0.ɵɵtextInterpolate1("Type: ", ctx_r1.User.Type);
24
+ } }
25
+ function UserHeaderPanel_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵdomElementStart(0, "div", 10)(1, "div", 11)(2, "span", 12);
27
+ i0.ɵɵtext(3, "User ID");
28
+ i0.ɵɵdomElementEnd();
29
+ i0.ɵɵdomElementStart(4, "span", 13);
30
+ i0.ɵɵtext(5);
31
+ i0.ɵɵdomElementEnd()();
32
+ i0.ɵɵdomElementStart(6, "div", 11)(7, "span", 12);
33
+ i0.ɵɵtext(8, "Account Status");
34
+ i0.ɵɵdomElementEnd();
35
+ i0.ɵɵdomElementStart(9, "span", 13);
36
+ i0.ɵɵtext(10);
37
+ i0.ɵɵdomElementEnd()()();
38
+ } if (rf & 2) {
39
+ const ctx_r1 = i0.ɵɵnextContext(2);
40
+ i0.ɵɵadvance(5);
41
+ i0.ɵɵtextInterpolate(ctx_r1.User.ID == null ? null : ctx_r1.User.ID.substring(0, 8));
42
+ i0.ɵɵadvance(4);
43
+ i0.ɵɵstyleProp("color", ctx_r1.User.IsActive ? "#10b981" : "#f43f5e");
44
+ i0.ɵɵadvance();
45
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.User.IsActive ? "Active" : "Inactive", " ");
46
+ } }
47
+ function UserHeaderPanel_Conditional_0_Template(rf, ctx) { if (rf & 1) {
48
+ const _r1 = i0.ɵɵgetCurrentView();
49
+ i0.ɵɵdomElementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
50
+ i0.ɵɵdomElement(4, "i", 4);
51
+ i0.ɵɵdomElementEnd();
52
+ i0.ɵɵdomElementStart(5, "div")(6, "h1", 5);
53
+ i0.ɵɵtext(7);
54
+ i0.ɵɵdomElementEnd();
55
+ i0.ɵɵdomElementStart(8, "div", 6)(9, "span");
56
+ i0.ɵɵtext(10);
57
+ i0.ɵɵdomElementEnd();
58
+ i0.ɵɵconditionalCreate(11, UserHeaderPanel_Conditional_0_Conditional_11_Template, 4, 1);
59
+ i0.ɵɵdomElementEnd()()();
60
+ i0.ɵɵdomElementStart(12, "div", 7)(13, "button", 8);
61
+ i0.ɵɵdomListener("click", function UserHeaderPanel_Conditional_0_Template_button_click_13_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.ToggleCollapsed()); });
62
+ i0.ɵɵdomElement(14, "i", 9);
63
+ i0.ɵɵdomElementEnd()()();
64
+ i0.ɵɵconditionalCreate(15, UserHeaderPanel_Conditional_0_Conditional_15_Template, 11, 4, "div", 10);
65
+ i0.ɵɵdomElementEnd();
66
+ } if (rf & 2) {
67
+ const ctx_r1 = i0.ɵɵnextContext();
68
+ i0.ɵɵadvance(7);
69
+ i0.ɵɵtextInterpolate(ctx_r1.User.Name || ctx_r1.User.Email || "MemberJunction User");
70
+ i0.ɵɵadvance(3);
71
+ i0.ɵɵtextInterpolate1("Email: ", ctx_r1.User.Email);
72
+ i0.ɵɵadvance();
73
+ i0.ɵɵconditional(ctx_r1.User.Type ? 11 : -1);
74
+ i0.ɵɵadvance(2);
75
+ i0.ɵɵdomProperty("title", ctx_r1.IsCollapsed ? "Expand Header" : "Collapse Header");
76
+ i0.ɵɵadvance();
77
+ i0.ɵɵclassProp("fa-chevron-up", !ctx_r1.IsCollapsed)("fa-chevron-down", ctx_r1.IsCollapsed);
78
+ i0.ɵɵadvance();
79
+ i0.ɵɵconditional(!ctx_r1.IsCollapsed ? 15 : -1);
80
+ } }
81
+ const SETTING_KEY = 'mj.form.users.headerCollapsed';
82
+ let UserHeaderPanel = class UserHeaderPanel extends BaseFormPanel {
83
+ constructor() {
84
+ super(...arguments);
85
+ this.IsCollapsed = false;
86
+ }
87
+ ngOnInit() {
88
+ const raw = UserInfoEngine.Instance.GetSetting(SETTING_KEY);
89
+ if (raw)
90
+ this.IsCollapsed = raw === 'true';
91
+ }
92
+ get User() {
93
+ return this.Record;
94
+ }
95
+ ToggleCollapsed() {
96
+ this.IsCollapsed = !this.IsCollapsed;
97
+ UserInfoEngine.Instance.SetSettingDebounced(SETTING_KEY, String(this.IsCollapsed));
98
+ }
99
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵUserHeaderPanel_BaseFactory; return function UserHeaderPanel_Factory(__ngFactoryType__) { return (ɵUserHeaderPanel_BaseFactory || (ɵUserHeaderPanel_BaseFactory = i0.ɵɵgetInheritedFactory(UserHeaderPanel)))(__ngFactoryType__ || UserHeaderPanel); }; })(); }
100
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserHeaderPanel, selectors: [["mj-user-header-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[1, "mj-entity-hero-header"], [1, "mj-hero-top"], [1, "mj-hero-identity"], [1, "mj-hero-avatar", 2, "background", "linear-gradient(135deg, #0ea5e9, #0369a1)"], [1, "fa-solid", "fa-user-gear"], [1, "mj-hero-title"], [1, "mj-hero-subline"], [1, "mj-hero-actions"], ["type", "button", 1, "mj-hero-toggle-btn", 3, "click", "title"], [1, "fa-solid"], [1, "mj-hero-metrics-row"], [1, "mj-hero-metric"], [1, "mj-hero-metric-label"], [1, "mj-hero-metric-val"]], template: function UserHeaderPanel_Template(rf, ctx) { if (rf & 1) {
101
+ i0.ɵɵconditionalCreate(0, UserHeaderPanel_Conditional_0_Template, 16, 9, "div", 0);
102
+ } if (rf & 2) {
103
+ i0.ɵɵconditional(ctx.User ? 0 : -1);
104
+ } }, dependencies: [CommonModule], styles: ["[_nghost-%COMP%] { display: block; width: 100%; }\n .mj-entity-hero-header[_ngcontent-%COMP%] {\n background: linear-gradient(180deg, var(--mj-bg-surface, #111a2e) 0%, var(--mj-bg-surface-card, #141f36) 100%);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n padding: 16px 24px;\n }\n .mj-hero-top[_ngcontent-%COMP%] { display: flex; align-items: center; justify-content: space-between; gap: 16px; }\n .mj-hero-identity[_ngcontent-%COMP%] { display: flex; align-items: center; gap: 14px; }\n .mj-hero-avatar[_ngcontent-%COMP%] {\n width: 44px; height: 44px; border-radius: 10px;\n display: flex; align-items: center; justify-content: center;\n font-size: 18px; color: #fff; flex-shrink: 0;\n }\n .mj-hero-title[_ngcontent-%COMP%] { font-size: 18px; font-weight: 800; color: var(--mj-text-primary, #f8fafc); }\n .mj-hero-subline[_ngcontent-%COMP%] { font-size: 12.5px; color: var(--mj-text-secondary, #94a3b8); margin-top: 2px; display: flex; gap: 8px; align-items: center; }\n .mj-hero-toggle-btn[_ngcontent-%COMP%] {\n background: none; border: 1px solid var(--mj-border-default, #223254);\n color: var(--mj-text-muted, #64748b); border-radius: 6px;\n padding: 6px 10px; cursor: pointer;\n }\n .mj-hero-metrics-row[_ngcontent-%COMP%] {\n display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n gap: 12px; margin-top: 14px; padding-top: 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.05);\n }\n .mj-hero-metric[_ngcontent-%COMP%] { display: flex; flex-direction: column; gap: 2px; }\n .mj-hero-metric-label[_ngcontent-%COMP%] { font-size: 10.5px; font-weight: 700; color: var(--mj-text-muted, #64748b); text-transform: uppercase; }\n .mj-hero-metric-val[_ngcontent-%COMP%] { font-size: 14px; font-weight: 700; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }"], changeDetection: 0 }); }
105
+ };
106
+ UserHeaderPanel = __decorate([
107
+ RegisterClassEx(BaseFormPanel, {
108
+ key: 'form-panel:Users:header',
109
+ metadata: {
110
+ entity: 'Users',
111
+ slot: 'header',
112
+ sortKey: 10,
113
+ },
114
+ })
115
+ ], UserHeaderPanel);
116
+ export { UserHeaderPanel };
117
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserHeaderPanel, [{
118
+ type: Component,
119
+ args: [{ selector: 'mj-user-header-panel', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
120
+ @if (User) {
121
+ <div class="mj-entity-hero-header">
122
+ <div class="mj-hero-top">
123
+ <div class="mj-hero-identity">
124
+ <div class="mj-hero-avatar" style="background: linear-gradient(135deg, #0ea5e9, #0369a1);">
125
+ <i class="fa-solid fa-user-gear"></i>
126
+ </div>
127
+ <div>
128
+ <h1 class="mj-hero-title">{{ User.Name || User.Email || 'MemberJunction User' }}</h1>
129
+ <div class="mj-hero-subline">
130
+ <span>Email: {{ User.Email }}</span>
131
+ @if (User.Type) {
132
+ <span>•</span>
133
+ <span>Type: {{ User.Type }}</span>
134
+ }
135
+ </div>
136
+ </div>
137
+ </div>
138
+ <div class="mj-hero-actions">
139
+ <button type="button" class="mj-hero-toggle-btn" (click)="ToggleCollapsed()" [title]="IsCollapsed ? 'Expand Header' : 'Collapse Header'">
140
+ <i class="fa-solid" [class.fa-chevron-up]="!IsCollapsed" [class.fa-chevron-down]="IsCollapsed"></i>
141
+ </button>
142
+ </div>
143
+ </div>
144
+
145
+ @if (!IsCollapsed) {
146
+ <div class="mj-hero-metrics-row">
147
+ <div class="mj-hero-metric">
148
+ <span class="mj-hero-metric-label">User ID</span>
149
+ <span class="mj-hero-metric-val">{{ User.ID?.substring(0, 8) }}</span>
150
+ </div>
151
+ <div class="mj-hero-metric">
152
+ <span class="mj-hero-metric-label">Account Status</span>
153
+ <span class="mj-hero-metric-val" [style.color]="User.IsActive ? '#10b981' : '#f43f5e'">
154
+ {{ User.IsActive ? 'Active' : 'Inactive' }}
155
+ </span>
156
+ </div>
157
+ </div>
158
+ }
159
+ </div>
160
+ }
161
+ `, styles: ["\n :host { display: block; width: 100%; }\n .mj-entity-hero-header {\n background: linear-gradient(180deg, var(--mj-bg-surface, #111a2e) 0%, var(--mj-bg-surface-card, #141f36) 100%);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n padding: 16px 24px;\n }\n .mj-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }\n .mj-hero-identity { display: flex; align-items: center; gap: 14px; }\n .mj-hero-avatar {\n width: 44px; height: 44px; border-radius: 10px;\n display: flex; align-items: center; justify-content: center;\n font-size: 18px; color: #fff; flex-shrink: 0;\n }\n .mj-hero-title { font-size: 18px; font-weight: 800; color: var(--mj-text-primary, #f8fafc); }\n .mj-hero-subline { font-size: 12.5px; color: var(--mj-text-secondary, #94a3b8); margin-top: 2px; display: flex; gap: 8px; align-items: center; }\n .mj-hero-toggle-btn {\n background: none; border: 1px solid var(--mj-border-default, #223254);\n color: var(--mj-text-muted, #64748b); border-radius: 6px;\n padding: 6px 10px; cursor: pointer;\n }\n .mj-hero-metrics-row {\n display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n gap: 12px; margin-top: 14px; padding-top: 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.05);\n }\n .mj-hero-metric { display: flex; flex-direction: column; gap: 2px; }\n .mj-hero-metric-label { font-size: 10.5px; font-weight: 700; color: var(--mj-text-muted, #64748b); text-transform: uppercase; }\n .mj-hero-metric-val { font-size: 14px; font-weight: 700; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }\n "] }]
162
+ }], null, null); })();
163
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserHeaderPanel, { className: "UserHeaderPanel", filePath: "src/lib/custom/Users/user-header.panel.ts", lineNumber: 96 }); })();
164
+ //# sourceMappingURL=user-header.panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-header.panel.js","sourceRoot":"","sources":["../../../../src/lib/custom/Users/user-header.panel.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAgB,cAAc,EAAE,MAAM,+BAA+B,CAAC;;;IA8BzC,+BAAM;IAAA,sBAAC;IAAA,oBAAO;IACd,+BAAM;IAAA,YAAqB;IAAA,oBAAO;;;IAA5B,eAAqB;IAArB,iDAAqB;;;IAenC,AADJ,AADJ,kCAAiC,cACD,eACW;IAAA,uBAAO;IAAA,oBAAO;IACjD,mCAAiC;IAAA,YAA8B;IACnE,AADmE,oBAAO,EACpE;IAEF,AADJ,kCAA4B,eACW;IAAA,8BAAc;IAAA,oBAAO;IACxD,mCAAuF;IACnF,aACJ;IAER,AADI,AADI,oBAAO,EACL,EACJ;;;IARmC,eAA8B;IAA9B,oFAA8B;IAI9B,eAAqD;IAArD,qEAAqD;IAClF,cACJ;IADI,6EACJ;;;;IA/BJ,AADJ,AADJ,AADJ,iCAAmC,aACN,aACS,aACiE;IACvF,0BAAqC;IACzC,oBAAM;IAEF,AADJ,8BAAK,YACyB;IAAA,YAAsD;IAAA,oBAAK;IAEjF,AADJ,iCAA6B,WACnB;IAAA,aAAuB;IAAA,oBAAO;IACpC,uFAAiB;IAM7B,AADI,AADI,oBAAM,EACJ,EACJ;IAEF,AADJ,kCAA6B,iBACgH;IAAxF,uLAAS,wBAAiB,KAAC;IACxE,2BAAmG;IAG/G,AADI,AADI,oBAAS,EACP,EACJ;IAEN,mGAAoB;IAcxB,oBAAM;;;IA/BoC,eAAsD;IAAtD,oFAAsD;IAEtE,eAAuB;IAAvB,mDAAuB;IAC7B,cAGC;IAHD,4CAGC;IAKoE,eAA2D;IAA3D,mFAA2D;IAChH,cAAoC;IAAC,AAArC,oDAAoC,uCAAsC;IAK1G,cAaC;IAbD,+CAaC;;AAtDjB,MAAM,WAAW,GAAG,+BAA+B,CAAC;AAyF7C,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,aAA2B;IAAzD;;QACI,gBAAW,GAAG,KAAK,CAAC;KAe9B;IAbU,QAAQ;QACX,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,GAAG;YAAE,IAAI,CAAC,WAAW,GAAG,GAAG,KAAK,MAAM,CAAC;IAC/C,CAAC;IAED,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,eAAe;QAClB,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACrC,cAAc,CAAC,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACvF,CAAC;gPAfQ,eAAe,yBAAf,eAAe;oEAAf,eAAe;YAzEpB,kFAAY;;YAAZ,mCAwCC;4BA3CK,YAAY;;AA4Eb,eAAe;IAvF3B,eAAe,CAAC,aAAa,EAAE;QAC5B,GAAG,EAAE,yBAAyB;QAC9B,QAAQ,EAAE;YACN,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,EAAE;SACd;KACJ,CAAC;GAgFW,eAAe,CAgB3B;;iFAhBY,eAAe;cA/E3B,SAAS;2BACI,sBAAsB,cACpB,IAAI,WACP,CAAC,YAAY,CAAC,mBACN,uBAAuB,CAAC,MAAM,YACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CT;;kFAgCQ,eAAe","sourcesContent":["import { Component, ChangeDetectionStrategy } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RegisterClassEx } from '@memberjunction/global';\nimport { BaseFormPanel } from '@memberjunction/ng-base-forms';\nimport { MJUserEntity, UserInfoEngine } from '@memberjunction/core-entities';\n\nconst SETTING_KEY = 'mj.form.users.headerCollapsed';\n\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Users:header',\n metadata: {\n entity: 'Users',\n slot: 'header',\n sortKey: 10,\n },\n})\n@Component({\n selector: 'mj-user-header-panel',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n @if (User) {\n <div class=\"mj-entity-hero-header\">\n <div class=\"mj-hero-top\">\n <div class=\"mj-hero-identity\">\n <div class=\"mj-hero-avatar\" style=\"background: linear-gradient(135deg, #0ea5e9, #0369a1);\">\n <i class=\"fa-solid fa-user-gear\"></i>\n </div>\n <div>\n <h1 class=\"mj-hero-title\">{{ User.Name || User.Email || 'MemberJunction User' }}</h1>\n <div class=\"mj-hero-subline\">\n <span>Email: {{ User.Email }}</span>\n @if (User.Type) {\n <span>•</span>\n <span>Type: {{ User.Type }}</span>\n }\n </div>\n </div>\n </div>\n <div class=\"mj-hero-actions\">\n <button type=\"button\" class=\"mj-hero-toggle-btn\" (click)=\"ToggleCollapsed()\" [title]=\"IsCollapsed ? 'Expand Header' : 'Collapse Header'\">\n <i class=\"fa-solid\" [class.fa-chevron-up]=\"!IsCollapsed\" [class.fa-chevron-down]=\"IsCollapsed\"></i>\n </button>\n </div>\n </div>\n\n @if (!IsCollapsed) {\n <div class=\"mj-hero-metrics-row\">\n <div class=\"mj-hero-metric\">\n <span class=\"mj-hero-metric-label\">User ID</span>\n <span class=\"mj-hero-metric-val\">{{ User.ID?.substring(0, 8) }}</span>\n </div>\n <div class=\"mj-hero-metric\">\n <span class=\"mj-hero-metric-label\">Account Status</span>\n <span class=\"mj-hero-metric-val\" [style.color]=\"User.IsActive ? '#10b981' : '#f43f5e'\">\n {{ User.IsActive ? 'Active' : 'Inactive' }}\n </span>\n </div>\n </div>\n }\n </div>\n }\n `,\n styles: [`\n :host { display: block; width: 100%; }\n .mj-entity-hero-header {\n background: linear-gradient(180deg, var(--mj-bg-surface, #111a2e) 0%, var(--mj-bg-surface-card, #141f36) 100%);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n padding: 16px 24px;\n }\n .mj-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; }\n .mj-hero-identity { display: flex; align-items: center; gap: 14px; }\n .mj-hero-avatar {\n width: 44px; height: 44px; border-radius: 10px;\n display: flex; align-items: center; justify-content: center;\n font-size: 18px; color: #fff; flex-shrink: 0;\n }\n .mj-hero-title { font-size: 18px; font-weight: 800; color: var(--mj-text-primary, #f8fafc); }\n .mj-hero-subline { font-size: 12.5px; color: var(--mj-text-secondary, #94a3b8); margin-top: 2px; display: flex; gap: 8px; align-items: center; }\n .mj-hero-toggle-btn {\n background: none; border: 1px solid var(--mj-border-default, #223254);\n color: var(--mj-text-muted, #64748b); border-radius: 6px;\n padding: 6px 10px; cursor: pointer;\n }\n .mj-hero-metrics-row {\n display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n gap: 12px; margin-top: 14px; padding-top: 12px;\n border-top: 1px solid rgba(255, 255, 255, 0.05);\n }\n .mj-hero-metric { display: flex; flex-direction: column; gap: 2px; }\n .mj-hero-metric-label { font-size: 10.5px; font-weight: 700; color: var(--mj-text-muted, #64748b); text-transform: uppercase; }\n .mj-hero-metric-val { font-size: 14px; font-weight: 700; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }\n `]\n})\nexport class UserHeaderPanel extends BaseFormPanel<MJUserEntity> {\n public IsCollapsed = false;\n\n public ngOnInit(): void {\n const raw = UserInfoEngine.Instance.GetSetting(SETTING_KEY);\n if (raw) this.IsCollapsed = raw === 'true';\n }\n\n public get User(): MJUserEntity | null {\n return this.Record;\n }\n\n public ToggleCollapsed(): void {\n this.IsCollapsed = !this.IsCollapsed;\n UserInfoEngine.Instance.SetSettingDebounced(SETTING_KEY, String(this.IsCollapsed));\n }\n}\n"]}
@@ -0,0 +1,19 @@
1
+ import { OnInit } from '@angular/core';
2
+ import { BaseFormPanel } from '@memberjunction/ng-base-forms';
3
+ import { MJUserEntity } from '@memberjunction/core-entities';
4
+ import * as i0 from "@angular/core";
5
+ interface UserRoleRow {
6
+ ID: string;
7
+ Role: string;
8
+ }
9
+ export declare class UserOverviewPanel extends BaseFormPanel<MJUserEntity> implements OnInit {
10
+ private cdr;
11
+ Roles: UserRoleRow[];
12
+ get User(): MJUserEntity | null;
13
+ ngOnInit(): void;
14
+ private LoadUserRoles;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserOverviewPanel, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<UserOverviewPanel, "mj-user-overview-panel", never, {}, {}, never, never, true, never>;
17
+ }
18
+ export {};
19
+ //# sourceMappingURL=user-overview.panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-overview.panel.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Users/user-overview.panel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,MAAM,EAA6B,MAAM,eAAe,CAAC;AAItG,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;;AAE7D,UAAU,WAAW;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAmHa,iBAAkB,SAAQ,aAAa,CAAC,YAAY,CAAE,YAAW,MAAM;IAChF,OAAO,CAAC,GAAG,CAA6B;IACjC,KAAK,EAAE,WAAW,EAAE,CAAM;IAEjC,IAAW,IAAI,IAAI,YAAY,GAAG,IAAI,CAErC;IAEM,QAAQ,IAAI,IAAI;YAIT,aAAa;yCAZlB,iBAAiB;2CAAjB,iBAAiB;CA+B7B"}
@@ -0,0 +1,172 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component, ChangeDetectionStrategy, inject, ChangeDetectorRef } from '@angular/core';
8
+ import { CommonModule } from '@angular/common';
9
+ import { RunView } from '@memberjunction/core';
10
+ import { RegisterClassEx } from '@memberjunction/global';
11
+ import { BaseFormPanel } from '@memberjunction/ng-base-forms';
12
+ import * as i0 from "@angular/core";
13
+ const _forTrack0 = ($index, $item) => $item.ID;
14
+ function UserOverviewPanel_Conditional_9_Template(rf, ctx) { if (rf & 1) {
15
+ i0.ɵɵdomElementStart(0, "span", 7);
16
+ i0.ɵɵtext(1, "No explicit roles assigned. Default permissions apply.");
17
+ i0.ɵɵdomElementEnd();
18
+ } }
19
+ function UserOverviewPanel_Conditional_10_For_1_Template(rf, ctx) { if (rf & 1) {
20
+ i0.ɵɵdomElementStart(0, "div", 9)(1, "span", 10);
21
+ i0.ɵɵtext(2);
22
+ i0.ɵɵdomElementEnd();
23
+ i0.ɵɵdomElementStart(3, "span", 13);
24
+ i0.ɵɵtext(4, "Granted");
25
+ i0.ɵɵdomElementEnd()();
26
+ } if (rf & 2) {
27
+ const role_r1 = ctx.$implicit;
28
+ i0.ɵɵadvance(2);
29
+ i0.ɵɵtextInterpolate(role_r1.Role);
30
+ } }
31
+ function UserOverviewPanel_Conditional_10_Template(rf, ctx) { if (rf & 1) {
32
+ i0.ɵɵrepeaterCreate(0, UserOverviewPanel_Conditional_10_For_1_Template, 5, 1, "div", 9, _forTrack0);
33
+ } if (rf & 2) {
34
+ const ctx_r1 = i0.ɵɵnextContext();
35
+ i0.ɵɵrepeater(ctx_r1.Roles);
36
+ } }
37
+ let UserOverviewPanel = class UserOverviewPanel extends BaseFormPanel {
38
+ constructor() {
39
+ super(...arguments);
40
+ this.cdr = inject(ChangeDetectorRef);
41
+ this.Roles = [];
42
+ }
43
+ get User() {
44
+ return this.Record;
45
+ }
46
+ ngOnInit() {
47
+ this.LoadUserRoles();
48
+ }
49
+ async LoadUserRoles() {
50
+ if (!this.Record?.ID)
51
+ return;
52
+ try {
53
+ const rv = new RunView();
54
+ const res = await rv.RunView({
55
+ EntityName: 'User Roles',
56
+ ExtraFilter: `UserID = '${this.Record.ID}'`,
57
+ Fields: ['ID', 'Role'],
58
+ MaxRows: 20,
59
+ ResultType: 'simple'
60
+ });
61
+ if (res.Success && res.Results) {
62
+ this.Roles = res.Results;
63
+ this.cdr.markForCheck();
64
+ }
65
+ }
66
+ catch (e) {
67
+ console.error('Failed to load user roles:', e);
68
+ }
69
+ }
70
+ static { this.ɵfac = /*@__PURE__*/ (() => { let ɵUserOverviewPanel_BaseFactory; return function UserOverviewPanel_Factory(__ngFactoryType__) { return (ɵUserOverviewPanel_BaseFactory || (ɵUserOverviewPanel_BaseFactory = i0.ɵɵgetInheritedFactory(UserOverviewPanel)))(__ngFactoryType__ || UserOverviewPanel); }; })(); }
71
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: UserOverviewPanel, selectors: [["mj-user-overview-panel"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 29, vars: 8, consts: [[1, "mj-user-overview-grid"], [1, "mj-overview-card"], [1, "mj-card-header"], [1, "mj-card-title"], [1, "fa-solid", "fa-shield-halved", 2, "color", "var(--mj-brand-primary, #38bdf8)"], [1, "mj-card-badge"], [1, "mj-card-body"], [2, "font-size", "12px", "color", "var(--mj-text-muted)"], [1, "fa-solid", "fa-user-check", 2, "color", "#10b981"], [1, "mj-metric-row"], [1, "mj-metric-label"], [1, "mj-pill"], [1, "mj-metric-val"], [1, "mj-pill", "mj-pill-purple"]], template: function UserOverviewPanel_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵdomElementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3);
73
+ i0.ɵɵdomElement(4, "i", 4);
74
+ i0.ɵɵtext(5, " Assigned Security Roles");
75
+ i0.ɵɵdomElementEnd();
76
+ i0.ɵɵdomElementStart(6, "span", 5);
77
+ i0.ɵɵtext(7);
78
+ i0.ɵɵdomElementEnd()();
79
+ i0.ɵɵdomElementStart(8, "div", 6);
80
+ i0.ɵɵconditionalCreate(9, UserOverviewPanel_Conditional_9_Template, 2, 0, "span", 7)(10, UserOverviewPanel_Conditional_10_Template, 2, 0);
81
+ i0.ɵɵdomElementEnd()();
82
+ i0.ɵɵdomElementStart(11, "div", 1)(12, "div", 2)(13, "div", 3);
83
+ i0.ɵɵdomElement(14, "i", 8);
84
+ i0.ɵɵtext(15, " Account Health");
85
+ i0.ɵɵdomElementEnd();
86
+ i0.ɵɵdomElementStart(16, "span", 5);
87
+ i0.ɵɵtext(17, "Security");
88
+ i0.ɵɵdomElementEnd()();
89
+ i0.ɵɵdomElementStart(18, "div", 6)(19, "div", 9)(20, "span", 10);
90
+ i0.ɵɵtext(21, "Account Active");
91
+ i0.ɵɵdomElementEnd();
92
+ i0.ɵɵdomElementStart(22, "span", 11);
93
+ i0.ɵɵtext(23);
94
+ i0.ɵɵdomElementEnd()();
95
+ i0.ɵɵdomElementStart(24, "div", 9)(25, "span", 10);
96
+ i0.ɵɵtext(26, "User Type");
97
+ i0.ɵɵdomElementEnd();
98
+ i0.ɵɵdomElementStart(27, "span", 12);
99
+ i0.ɵɵtext(28);
100
+ i0.ɵɵdomElementEnd()()()()();
101
+ } if (rf & 2) {
102
+ i0.ɵɵadvance(7);
103
+ i0.ɵɵtextInterpolate1("", ctx.Roles.length, " Roles");
104
+ i0.ɵɵadvance(2);
105
+ i0.ɵɵconditional(ctx.Roles.length === 0 ? 9 : 10);
106
+ i0.ɵɵadvance(13);
107
+ i0.ɵɵclassProp("mj-pill-green", ctx.User == null ? null : ctx.User.IsActive)("mj-pill-red", !(ctx.User == null ? null : ctx.User.IsActive));
108
+ i0.ɵɵadvance();
109
+ i0.ɵɵtextInterpolate1(" ", (ctx.User == null ? null : ctx.User.IsActive) ? "Active" : "Disabled", " ");
110
+ i0.ɵɵadvance(5);
111
+ i0.ɵɵtextInterpolate((ctx.User == null ? null : ctx.User.Type) || "Standard User");
112
+ } }, dependencies: [CommonModule], styles: ["[_nghost-%COMP%] { display: block; width: 100%; margin-bottom: 20px; }\n .mj-user-overview-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n }\n .mj-overview-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card, #141f36);\n border: 1px solid var(--mj-border-default, #223254);\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .mj-card-header[_ngcontent-%COMP%] {\n padding: 10px 14px;\n background: var(--mj-bg-surface, #111a2e);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .mj-card-title[_ngcontent-%COMP%] {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #f8fafc);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .mj-card-badge[_ngcontent-%COMP%] {\n font-size: 11px;\n padding: 2px 7px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-elevated, #1a2744);\n color: var(--mj-text-secondary, #94a3b8);\n border: 1px solid var(--mj-border-default, #223254);\n }\n .mj-card-body[_ngcontent-%COMP%] {\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .mj-metric-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 12px;\n }\n .mj-metric-label[_ngcontent-%COMP%] { color: var(--mj-text-secondary, #94a3b8); }\n .mj-metric-val[_ngcontent-%COMP%] { font-weight: 600; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }\n .mj-pill[_ngcontent-%COMP%] { font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }\n .mj-pill-green[_ngcontent-%COMP%] { background: rgba(16, 185, 129, 0.15); color: #10b981; }\n .mj-pill-red[_ngcontent-%COMP%] { background: rgba(244, 63, 94, 0.15); color: #f43f5e; }\n .mj-pill-purple[_ngcontent-%COMP%] { background: rgba(168, 85, 247, 0.15); color: #c084fc; }"], changeDetection: 0 }); }
113
+ };
114
+ UserOverviewPanel = __decorate([
115
+ RegisterClassEx(BaseFormPanel, {
116
+ key: 'form-panel:Users:overview',
117
+ metadata: {
118
+ entity: 'Users',
119
+ slot: 'before-fields',
120
+ sortKey: 10,
121
+ },
122
+ })
123
+ ], UserOverviewPanel);
124
+ export { UserOverviewPanel };
125
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(UserOverviewPanel, [{
126
+ type: Component,
127
+ args: [{ selector: 'mj-user-overview-panel', standalone: true, imports: [CommonModule], changeDetection: ChangeDetectionStrategy.OnPush, template: `
128
+ <div class="mj-user-overview-grid">
129
+ <!-- Card 1: Assigned Roles -->
130
+ <div class="mj-overview-card">
131
+ <div class="mj-card-header">
132
+ <div class="mj-card-title"><i class="fa-solid fa-shield-halved" style="color: var(--mj-brand-primary, #38bdf8);"></i> Assigned Security Roles</div>
133
+ <span class="mj-card-badge">{{ Roles.length }} Roles</span>
134
+ </div>
135
+ <div class="mj-card-body">
136
+ @if (Roles.length === 0) {
137
+ <span style="font-size: 12px; color: var(--mj-text-muted);">No explicit roles assigned. Default permissions apply.</span>
138
+ } @else {
139
+ @for (role of Roles; track role.ID) {
140
+ <div class="mj-metric-row">
141
+ <span class="mj-metric-label">{{ role.Role }}</span>
142
+ <span class="mj-pill mj-pill-purple">Granted</span>
143
+ </div>
144
+ }
145
+ }
146
+ </div>
147
+ </div>
148
+
149
+ <!-- Card 2: Account Health & Status -->
150
+ <div class="mj-overview-card">
151
+ <div class="mj-card-header">
152
+ <div class="mj-card-title"><i class="fa-solid fa-user-check" style="color: #10b981;"></i> Account Health</div>
153
+ <span class="mj-card-badge">Security</span>
154
+ </div>
155
+ <div class="mj-card-body">
156
+ <div class="mj-metric-row">
157
+ <span class="mj-metric-label">Account Active</span>
158
+ <span class="mj-pill" [class.mj-pill-green]="User?.IsActive" [class.mj-pill-red]="!User?.IsActive">
159
+ {{ User?.IsActive ? 'Active' : 'Disabled' }}
160
+ </span>
161
+ </div>
162
+ <div class="mj-metric-row">
163
+ <span class="mj-metric-label">User Type</span>
164
+ <span class="mj-metric-val">{{ User?.Type || 'Standard User' }}</span>
165
+ </div>
166
+ </div>
167
+ </div>
168
+ </div>
169
+ `, styles: ["\n :host { display: block; width: 100%; margin-bottom: 20px; }\n .mj-user-overview-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n }\n .mj-overview-card {\n background: var(--mj-bg-surface-card, #141f36);\n border: 1px solid var(--mj-border-default, #223254);\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .mj-card-header {\n padding: 10px 14px;\n background: var(--mj-bg-surface, #111a2e);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .mj-card-title {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #f8fafc);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .mj-card-badge {\n font-size: 11px;\n padding: 2px 7px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-elevated, #1a2744);\n color: var(--mj-text-secondary, #94a3b8);\n border: 1px solid var(--mj-border-default, #223254);\n }\n .mj-card-body {\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .mj-metric-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 12px;\n }\n .mj-metric-label { color: var(--mj-text-secondary, #94a3b8); }\n .mj-metric-val { font-weight: 600; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }\n .mj-pill { font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }\n .mj-pill-green { background: rgba(16, 185, 129, 0.15); color: #10b981; }\n .mj-pill-red { background: rgba(244, 63, 94, 0.15); color: #f43f5e; }\n .mj-pill-purple { background: rgba(168, 85, 247, 0.15); color: #c084fc; }\n "] }]
170
+ }], null, null); })();
171
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(UserOverviewPanel, { className: "UserOverviewPanel", filePath: "src/lib/custom/Users/user-overview.panel.ts", lineNumber: 128 }); })();
172
+ //# sourceMappingURL=user-overview.panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-overview.panel.js","sourceRoot":"","sources":["../../../../src/lib/custom/Users/user-overview.panel.ts"],"names":[],"mappings":"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","sourcesContent":["import { Component, ChangeDetectionStrategy, OnInit, inject, ChangeDetectorRef } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { RunView } from '@memberjunction/core';\nimport { RegisterClassEx } from '@memberjunction/global';\nimport { BaseFormPanel } from '@memberjunction/ng-base-forms';\nimport { MJUserEntity } from '@memberjunction/core-entities';\n\ninterface UserRoleRow {\n ID: string;\n Role: string;\n}\n\n@RegisterClassEx(BaseFormPanel, {\n key: 'form-panel:Users:overview',\n metadata: {\n entity: 'Users',\n slot: 'before-fields',\n sortKey: 10,\n },\n})\n@Component({\n selector: 'mj-user-overview-panel',\n standalone: true,\n imports: [CommonModule],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <div class=\"mj-user-overview-grid\">\n <!-- Card 1: Assigned Roles -->\n <div class=\"mj-overview-card\">\n <div class=\"mj-card-header\">\n <div class=\"mj-card-title\"><i class=\"fa-solid fa-shield-halved\" style=\"color: var(--mj-brand-primary, #38bdf8);\"></i> Assigned Security Roles</div>\n <span class=\"mj-card-badge\">{{ Roles.length }} Roles</span>\n </div>\n <div class=\"mj-card-body\">\n @if (Roles.length === 0) {\n <span style=\"font-size: 12px; color: var(--mj-text-muted);\">No explicit roles assigned. Default permissions apply.</span>\n } @else {\n @for (role of Roles; track role.ID) {\n <div class=\"mj-metric-row\">\n <span class=\"mj-metric-label\">{{ role.Role }}</span>\n <span class=\"mj-pill mj-pill-purple\">Granted</span>\n </div>\n }\n }\n </div>\n </div>\n\n <!-- Card 2: Account Health & Status -->\n <div class=\"mj-overview-card\">\n <div class=\"mj-card-header\">\n <div class=\"mj-card-title\"><i class=\"fa-solid fa-user-check\" style=\"color: #10b981;\"></i> Account Health</div>\n <span class=\"mj-card-badge\">Security</span>\n </div>\n <div class=\"mj-card-body\">\n <div class=\"mj-metric-row\">\n <span class=\"mj-metric-label\">Account Active</span>\n <span class=\"mj-pill\" [class.mj-pill-green]=\"User?.IsActive\" [class.mj-pill-red]=\"!User?.IsActive\">\n {{ User?.IsActive ? 'Active' : 'Disabled' }}\n </span>\n </div>\n <div class=\"mj-metric-row\">\n <span class=\"mj-metric-label\">User Type</span>\n <span class=\"mj-metric-val\">{{ User?.Type || 'Standard User' }}</span>\n </div>\n </div>\n </div>\n </div>\n `,\n styles: [`\n :host { display: block; width: 100%; margin-bottom: 20px; }\n .mj-user-overview-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n }\n .mj-overview-card {\n background: var(--mj-bg-surface-card, #141f36);\n border: 1px solid var(--mj-border-default, #223254);\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n }\n .mj-card-header {\n padding: 10px 14px;\n background: var(--mj-bg-surface, #111a2e);\n border-bottom: 1px solid var(--mj-border-default, #223254);\n display: flex;\n align-items: center;\n justify-content: space-between;\n }\n .mj-card-title {\n font-size: 12.5px;\n font-weight: 700;\n color: var(--mj-text-primary, #f8fafc);\n display: flex;\n align-items: center;\n gap: 8px;\n }\n .mj-card-badge {\n font-size: 11px;\n padding: 2px 7px;\n border-radius: 9999px;\n background: var(--mj-bg-surface-elevated, #1a2744);\n color: var(--mj-text-secondary, #94a3b8);\n border: 1px solid var(--mj-border-default, #223254);\n }\n .mj-card-body {\n padding: 14px;\n display: flex;\n flex-direction: column;\n gap: 10px;\n }\n .mj-metric-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 12px;\n }\n .mj-metric-label { color: var(--mj-text-secondary, #94a3b8); }\n .mj-metric-val { font-weight: 600; color: var(--mj-text-primary, #f8fafc); font-family: monospace; }\n .mj-pill { font-size: 10.5px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }\n .mj-pill-green { background: rgba(16, 185, 129, 0.15); color: #10b981; }\n .mj-pill-red { background: rgba(244, 63, 94, 0.15); color: #f43f5e; }\n .mj-pill-purple { background: rgba(168, 85, 247, 0.15); color: #c084fc; }\n `]\n})\nexport class UserOverviewPanel extends BaseFormPanel<MJUserEntity> implements OnInit {\n private cdr = inject(ChangeDetectorRef);\n public Roles: UserRoleRow[] = [];\n\n public get User(): MJUserEntity | null {\n return this.Record;\n }\n\n public ngOnInit(): void {\n this.LoadUserRoles();\n }\n\n private async LoadUserRoles(): Promise<void> {\n if (!this.Record?.ID) return;\n try {\n const rv = new RunView();\n const res = await rv.RunView<UserRoleRow>({\n EntityName: 'User Roles',\n ExtraFilter: `UserID = '${this.Record.ID}'`,\n Fields: ['ID', 'Role'],\n MaxRows: 20,\n ResultType: 'simple'\n });\n if (res.Success && res.Results) {\n this.Roles = res.Results;\n this.cdr.markForCheck();\n }\n } catch (e) {\n console.error('Failed to load user roles:', e);\n }\n }\n}\n"]}