@memberjunction/ng-core-entity-forms 6.1.0-edge.2 → 6.1.0-edge.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +180 -4
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts +12 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js +138 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js.map +1 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +20 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts.map +1 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +173 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -0
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +193 -182
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Companies/company-header.panel.d.ts +12 -0
- package/dist/lib/custom/Companies/company-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/Companies/company-header.panel.js +190 -0
- package/dist/lib/custom/Companies/company-header.panel.js.map +1 -0
- package/dist/lib/custom/Companies/company-overview.panel.d.ts +21 -0
- package/dist/lib/custom/Companies/company-overview.panel.d.ts.map +1 -0
- package/dist/lib/custom/Companies/company-overview.panel.js +180 -0
- package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -0
- package/dist/lib/custom/Conversations/conversation-header.panel.d.ts +12 -0
- package/dist/lib/custom/Conversations/conversation-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/Conversations/conversation-header.panel.js +150 -0
- package/dist/lib/custom/Conversations/conversation-header.panel.js.map +1 -0
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +23 -0
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -0
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +199 -0
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -0
- package/dist/lib/custom/Employees/employee-header.panel.d.ts +12 -0
- package/dist/lib/custom/Employees/employee-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/Employees/employee-header.panel.js +180 -0
- package/dist/lib/custom/Employees/employee-header.panel.js.map +1 -0
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts +21 -0
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts.map +1 -0
- package/dist/lib/custom/Employees/employee-overview.panel.js +180 -0
- package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -0
- package/dist/lib/custom/Entities/entity-form.component.d.ts +4 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +216 -173
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/Files/file-form.component.d.ts +40 -0
- package/dist/lib/custom/Files/file-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Files/file-form.component.js +654 -0
- package/dist/lib/custom/Files/file-form.component.js.map +1 -0
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts +101 -0
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts.map +1 -0
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js +1202 -0
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js.map +1 -0
- package/dist/lib/custom/Users/user-header.panel.d.ts +12 -0
- package/dist/lib/custom/Users/user-header.panel.d.ts.map +1 -0
- package/dist/lib/custom/Users/user-header.panel.js +164 -0
- package/dist/lib/custom/Users/user-header.panel.js.map +1 -0
- package/dist/lib/custom/Users/user-overview.panel.d.ts +19 -0
- package/dist/lib/custom/Users/user-overview.panel.d.ts.map +1 -0
- package/dist/lib/custom/Users/user-overview.panel.js +172 -0
- package/dist/lib/custom/Users/user-overview.panel.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts +18 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +118 -75
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +46 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +141 -18
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +4 -4
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts +9 -1
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js +85 -8
- package/dist/lib/custom/ai-agent-run/run-tree-timeline-projection.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +33 -29
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +23 -8
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIAction/mjaiaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +300 -294
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js +31 -23
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js +14 -16
- package/dist/lib/generated/Entities/MJAIAgentNote/mjaiagentnote.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +123 -117
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +35 -27
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +47 -49
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIAgentStep/mjaiagentstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js +30 -22
- package/dist/lib/generated/Entities/MJAIArchitecture/mjaiarchitecture.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js +72 -64
- package/dist/lib/generated/Entities/MJAIConfiguration/mjaiconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js +8 -8
- package/dist/lib/generated/Entities/MJAIModality/mjaimodality.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +28 -28
- package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIModelPriceType/mjaimodelpricetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIModelPriceUnitType/mjaimodelpriceunittype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIModelType/mjaimodeltype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIModelVendor/mjaimodelvendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +171 -173
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJAIPromptCategory/mjaipromptcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIPromptModel/mjaipromptmodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +85 -79
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIPromptRunMedia/mjaipromptrunmedia.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJAIPromptType/mjaiprompttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js +11 -11
- package/dist/lib/generated/Entities/MJAIVendor/mjaivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJAIVendorTypeDefinition/mjaivendortypedefinition.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJAPIApplication/mjapiapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJAPIKey/mjapikey.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js +36 -28
- package/dist/lib/generated/Entities/MJAPIScope/mjapiscope.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +108 -100
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js +36 -28
- package/dist/lib/generated/Entities/MJActionCategory/mjactioncategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJActionContextType/mjactioncontexttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJActionExecutionLog/mjactionexecutionlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJActionFilter/mjactionfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJActionParam/mjactionparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js +11 -11
- package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJArchiveConfiguration/mjarchiveconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJArchiveRun/mjarchiverun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJArtifact/mjartifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js +48 -40
- package/dist/lib/generated/Entities/MJArtifactType/mjartifacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJArtifactVersion/mjartifactversion.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js +29 -21
- package/dist/lib/generated/Entities/MJAuditLogType/mjauditlogtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js +108 -0
- package/dist/lib/generated/Entities/MJAuthenticationProvider/mjauthenticationprovider.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js +50 -42
- package/dist/lib/generated/Entities/MJAuthorization/mjauthorization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJClusterAnalysis/mjclusteranalysis.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js +44 -36
- package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJCommunicationBaseMessageType/mjcommunicationbasemessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJCommunicationProvider/mjcommunicationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJCommunicationProviderMessageType/mjcommunicationprovidermessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJCommunicationRun/mjcommunicationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJCompany/mjcompany.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js +32 -14
- package/dist/lib/generated/Entities/MJCompanyIntegration/mjcompanyintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJCompanyIntegrationEntityMap/mjcompanyintegrationentitymap.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js +44 -26
- package/dist/lib/generated/Entities/MJCompanyIntegrationRun/mjcompanyintegrationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJCompanyIntegrationRunDetail/mjcompanyintegrationrundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJComponentLibrary/mjcomponentlibrary.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJComponentRegistry/mjcomponentregistry.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJContentFileType/mjcontentfiletype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js +60 -52
- package/dist/lib/generated/Entities/MJContentItem/mjcontentitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js +28 -20
- package/dist/lib/generated/Entities/MJContentItemChunk/mjcontentitemchunk.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJContentProcessRun/mjcontentprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJContentProcessRunDetail/mjcontentprocessrundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJContentSourceType/mjcontentsourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +77 -79
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJConversationArtifact/mjconversationartifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJConversationArtifactVersion/mjconversationartifactversion.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +76 -68
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJCountry/mjcountry.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js +42 -24
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJCredentialCategory/mjcredentialcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJCredentialType/mjcredentialtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJDashboard/mjdashboard.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js +47 -33
- package/dist/lib/generated/Entities/MJDashboardCategory/mjdashboardcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJDataContext/mjdatacontext.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJDataset/mjdataset.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJDuplicateRun/mjduplicaterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJEmployee/mjemployee.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEncryptionAlgorithm/mjencryptionalgorithm.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEncryptionKey/mjencryptionkey.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEncryptionKeySource/mjencryptionkeysource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js +604 -530
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJEntityAction/mjentityaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJEntityActionInvocationType/mjentityactioninvocationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEntityCommunicationMessageType/mjentitycommunicationmessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +28 -18
- package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEntityOrganicKey/mjentityorganickey.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEntityRecordDocument/mjentityrecorddocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js +10 -8
- package/dist/lib/generated/Entities/MJEntityRelationship/mjentityrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJEntityRelationshipDisplayComponent/mjentityrelationshipdisplaycomponent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +8 -8
- package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJExternalDataSource/mjexternaldatasource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJExternalDataSourceType/mjexternaldatasourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +9 -9
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJFileCategory/mjfilecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJFileStorageAccount/mjfilestorageaccount.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js +82 -0
- package/dist/lib/generated/Entities/MJFormChromeRule/mjformchromerule.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJGeneratedCodeCategory/mjgeneratedcodecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJIntegrationSourceType/mjintegrationsourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJLibrary/mjlibrary.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJList/mjlist.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJList/mjlist.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJListCategory/mjlistcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJMCPServer/mjmcpserver.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJMCPServerConnection/mjmcpserverconnection.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJMCPServerTool/mjmcpservertool.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJMagicLinkInvite/mjmagiclinkinvite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js +117 -0
- package/dist/lib/generated/Entities/MJMaterializedResult/mjmaterializedresult.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js +58 -0
- package/dist/lib/generated/Entities/MJMaterializedResultQuery/mjmaterializedresultquery.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js +38 -30
- package/dist/lib/generated/Entities/MJProject/mjproject.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js +85 -65
- package/dist/lib/generated/Entities/MJQuery/mjquery.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJQueryCategory/mjquerycategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJQueue/mjqueue.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJQueueType/mjqueuetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js +64 -0
- package/dist/lib/generated/Entities/MJRSUPendingWork/mjrsupendingwork.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJRecommendation/mjrecommendation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJRecommendationProvider/mjrecommendationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJRecommendationRun/mjrecommendationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +21 -23
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJRecordChangeReplayRun/mjrecordchangereplayrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJRecordMergeLog/mjrecordmergelog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJRecordProcessCategory/mjrecordprocesscategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJRemoteOperationCategory/mjremoteoperationcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +17 -17
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJSQLDialect/mjsqldialect.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJScheduledJob/mjscheduledjob.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJScheduledJobRun/mjscheduledjobrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJScheduledJobType/mjscheduledjobtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJSearchProvider/mjsearchprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js +10 -10
- package/dist/lib/generated/Entities/MJSearchScope/mjsearchscope.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJSignatureAccount/mjsignatureaccount.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJSignatureProvider/mjsignatureprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js +4 -4
- package/dist/lib/generated/Entities/MJSignatureRequest/mjsignaturerequest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js +29 -21
- package/dist/lib/generated/Entities/MJSkill/mjskill.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJStateProvince/mjstateprovince.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTag/mjtag.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js +104 -92
- package/dist/lib/generated/Entities/MJTag/mjtag.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTask/mjtask.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js +47 -33
- package/dist/lib/generated/Entities/MJTask/mjtask.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJTaskType/mjtasktype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js +10 -10
- package/dist/lib/generated/Entities/MJTemplate/mjtemplate.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJTemplateCategory/mjtemplatecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJTemplateContent/mjtemplatecontent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js +7 -7
- package/dist/lib/generated/Entities/MJTestRun/mjtestrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJTestRunOutputType/mjtestrunoutputtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +39 -31
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJTestType/mjtesttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +105 -105
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJUserApplication/mjuserapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJUserNotificationType/mjusernotificationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJUserRoutine/mjuserroutine.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJUserView/mjuserview.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js +33 -19
- package/dist/lib/generated/Entities/MJUserViewCategory/mjuserviewcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJUserViewRun/mjuserviewrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +6 -6
- package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js +44 -36
- package/dist/lib/generated/Entities/MJVersionLabel/mjversionlabel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJViewType/mjviewtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +2 -2
- package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +290 -285
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +126 -111
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts +37 -0
- package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.d.ts.map +1 -0
- package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js +185 -0
- package/dist/lib/panels/form-chrome/entity-form-chrome-editor.component.js.map +1 -0
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts +20 -0
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.d.ts.map +1 -0
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js +87 -0
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js.map +1 -0
- package/dist/public-api.d.ts +12 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +14 -2
- package/dist/public-api.js.map +1 -1
- 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":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,uBAAuB,EAAU,MAAM,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACtG,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;;;;IA+BtC,kCAA4D;IAAA,sEAAsD;IAAA,oBAAO;;;IAIjH,AADJ,iCAA2B,eACO;IAAA,YAAe;IAAA,oBAAO;IACpD,mCAAqC;IAAA,uBAAO;IAChD,AADgD,oBAAO,EACjD;;;IAF4B,eAAe;IAAf,kCAAe;;;IAFrD,mGAKC;;;IALD,2BAKC;;AAqFlB,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,aAA2B;IAA3D;;QACK,QAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACjC,UAAK,GAAkB,EAAE,CAAC;KA6BpC;IA3BG,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,QAAQ;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE;YAAE,OAAO;QAC7B,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAc;gBACtC,UAAU,EAAE,YAAY;gBACxB,WAAW,EAAE,aAAa,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG;gBAC3C,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;gBACtB,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC;gBACzB,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QACnD,CAAC;IACL,CAAC;wPA9BQ,iBAAiB,yBAAjB,iBAAiB;oEAAjB,iBAAiB;YAjGV,AADJ,AADJ,AAFJ,iCAAmC,aAED,aACE,aACG;YAAA,0BAA0F;YAAC,wCAAuB;YAAA,oBAAM;YACnJ,kCAA4B;YAAA,YAAwB;YACxD,AADwD,oBAAO,EACzD;YACN,iCAA0B;YAGpB,AAFF,oFAA0B,qDAEjB;YASjB,AADI,oBAAM,EACJ;YAKE,AADJ,AADJ,kCAA8B,cACE,cACG;YAAA,2BAA8D;YAAC,gCAAc;YAAA,oBAAM;YAC9G,mCAA4B;YAAA,yBAAQ;YACxC,AADwC,oBAAO,EACzC;YAGE,AADJ,AADJ,kCAA0B,cACK,gBACO;YAAA,+BAAc;YAAA,oBAAO;YACnD,oCAAmG;YAC/F,aACJ;YACJ,AADI,oBAAO,EACL;YAEF,AADJ,kCAA2B,gBACO;YAAA,0BAAS;YAAA,oBAAO;YAC9C,oCAA4B;YAAA,aAAmC;YAI/E,AADI,AADI,AADI,AADmE,oBAAO,EACpE,EACJ,EACJ,EACJ;;YAnCkC,eAAwB;YAAxB,qDAAwB;YAGpD,eASC;YATD,iDASC;YAayB,gBAAsC;YAAC,AAAvC,4EAAsC,+DAAsC;YAC9F,cACJ;YADI,sGACJ;YAI4B,eAAmC;YAAnC,kFAAmC;4BAvCzE,YAAY;;AAwGb,iBAAiB;IAnH7B,eAAe,CAAC,aAAa,EAAE;QAC5B,GAAG,EAAE,2BAA2B;QAChC,QAAQ,EAAE;YACN,MAAM,EAAE,OAAO;YACf,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,EAAE;SACd;KACJ,CAAC;GA4GW,iBAAiB,CA+B7B;;iFA/BY,iBAAiB;cA3G7B,SAAS;2BACI,wBAAwB,cACtB,IAAI,WACP,CAAC,YAAY,CAAC,mBACN,uBAAuB,CAAC,MAAM,YACrC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CT;;kFA4DQ,iBAAiB","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"]}
|