@memberjunction/ng-core-entity-forms 6.2.0-edge.1 → 6.2.0-edge.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.d.ts.map +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js +9 -5
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-header.panel.js.map +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts +4 -0
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js +67 -36
- package/dist/lib/custom/AIAgentCategories/ai-agent-category-overview.panel.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts +1 -0
- package/dist/lib/custom/AIAgents/agent-form-tabs.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-form-tabs.js +2 -0
- package/dist/lib/custom/AIAgents/agent-form-tabs.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +529 -521
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +1 -0
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +10 -16
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/pending-records.d.ts +11 -0
- package/dist/lib/custom/AIPrompts/pending-records.d.ts.map +1 -0
- package/dist/lib/custom/AIPrompts/pending-records.js +21 -0
- package/dist/lib/custom/AIPrompts/pending-records.js.map +1 -0
- package/dist/lib/custom/Companies/company-header.panel.d.ts.map +1 -1
- package/dist/lib/custom/Companies/company-header.panel.js +9 -5
- package/dist/lib/custom/Companies/company-header.panel.js.map +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.d.ts +4 -0
- package/dist/lib/custom/Companies/company-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/Companies/company-overview.panel.js +68 -37
- package/dist/lib/custom/Companies/company-overview.panel.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-header.panel.d.ts.map +1 -1
- package/dist/lib/custom/Conversations/conversation-header.panel.js +9 -5
- package/dist/lib/custom/Conversations/conversation-header.panel.js.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts +10 -2
- package/dist/lib/custom/Conversations/conversation-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/Conversations/conversation-overview.panel.js +138 -76
- package/dist/lib/custom/Conversations/conversation-overview.panel.js.map +1 -1
- package/dist/lib/custom/Employees/employee-header.panel.d.ts.map +1 -1
- package/dist/lib/custom/Employees/employee-header.panel.js +9 -5
- package/dist/lib/custom/Employees/employee-header.panel.js.map +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts +4 -0
- package/dist/lib/custom/Employees/employee-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/Employees/employee-overview.panel.js +68 -37
- package/dist/lib/custom/Employees/employee-overview.panel.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +8 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +241 -147
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.d.ts.map +1 -1
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js +60 -45
- package/dist/lib/custom/HierarchyPanels/hierarchy-form-panels.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +1 -0
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +1 -0
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +19 -0
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +50 -8
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -1
- package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts +37 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.js +399 -0
- package/dist/lib/custom/Rubrics/evaluation-form.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/record-forms.component.d.ts +69 -0
- package/dist/lib/custom/Rubrics/record-forms.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/record-forms.component.js +587 -0
- package/dist/lib/custom/Rubrics/record-forms.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.d.ts +67 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.js +534 -0
- package/dist/lib/custom/Rubrics/rubric-form.component.js.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts +25 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.js +299 -0
- package/dist/lib/custom/Rubrics/rubric-form.panels.js.map +1 -0
- package/dist/lib/custom/Rubrics/scale-form.component.d.ts +31 -0
- package/dist/lib/custom/Rubrics/scale-form.component.d.ts.map +1 -0
- package/dist/lib/custom/Rubrics/scale-form.component.js +395 -0
- package/dist/lib/custom/Rubrics/scale-form.component.js.map +1 -0
- package/dist/lib/custom/SearchScopes/searchscope-form.component.d.ts.map +1 -1
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js +1 -0
- package/dist/lib/custom/SearchScopes/searchscope-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +13 -4
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +111 -113
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +6 -0
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +403 -361
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +1 -0
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +5 -0
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +705 -664
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +1 -0
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/Users/user-header.panel.d.ts.map +1 -1
- package/dist/lib/custom/Users/user-header.panel.js +9 -5
- package/dist/lib/custom/Users/user-header.panel.js.map +1 -1
- package/dist/lib/custom/Users/user-overview.panel.d.ts +4 -0
- package/dist/lib/custom/Users/user-overview.panel.d.ts.map +1 -1
- package/dist/lib/custom/Users/user-overview.panel.js +65 -34
- package/dist/lib/custom/Users/user-overview.panel.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +56 -48
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +60 -0
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +115 -43
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJAIAgentArtifactType/mjaiagentartifacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js +15 -18
- package/dist/lib/generated/Entities/MJAIAgentNoteType/mjaiagentnotetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJAIAgentPrompt/mjaiagentprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js +74 -0
- package/dist/lib/generated/Entities/MJAIAgentRubric/mjaiagentrubric.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +37 -19
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js +27 -9
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js +17 -15
- package/dist/lib/generated/Entities/MJAIAgentSessionBridge/mjaiagentsessionbridge.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js +25 -7
- package/dist/lib/generated/Entities/MJAIBridgeProvider/mjaibridgeprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js +31 -13
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js +12 -14
- package/dist/lib/generated/Entities/MJAIResultCache/mjairesultcache.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJCommunicationLog/mjcommunicationlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJCompanyIntegrationRunAPILog/mjcompanyintegrationrunapilog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js +26 -8
- package/dist/lib/generated/Entities/MJComponent/mjcomponent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js +4 -7
- package/dist/lib/generated/Entities/MJContentItemAttribute/mjcontentitemattribute.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js +4 -7
- package/dist/lib/generated/Entities/MJContentSourceParam/mjcontentsourceparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js +31 -13
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJConversationArtifactPermission/mjconversationartifactpermission.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 +34 -16
- package/dist/lib/generated/Entities/MJCredential/mjcredential.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJEmployeeRole/mjemployeerole.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 +210 -84
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js +8 -11
- package/dist/lib/generated/Entities/MJEntityCommunicationField/mjentitycommunicationfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js +15 -18
- package/dist/lib/generated/Entities/MJEntityDocumentType/mjentitydocumenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.js +148 -0
- package/dist/lib/generated/Entities/MJEntityFormContribution/mjentityformcontribution.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js +53 -56
- package/dist/lib/generated/Entities/MJEnvironment/mjenvironment.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js +62 -0
- package/dist/lib/generated/Entities/MJFeaturePipelineType/mjfeaturepipelinetype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.js +161 -0
- package/dist/lib/generated/Entities/MJInteraction/mjinteraction.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.js +78 -0
- package/dist/lib/generated/Entities/MJInteractionEvent/mjinteractionevent.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.js +68 -0
- package/dist/lib/generated/Entities/MJInteractionLink/mjinteractionlink.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.js +100 -0
- package/dist/lib/generated/Entities/MJInteractionOffer/mjinteractionoffer.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.js +119 -0
- package/dist/lib/generated/Entities/MJMeeting/mjmeeting.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.js +92 -0
- package/dist/lib/generated/Entities/MJMeetingParticipant/mjmeetingparticipant.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.js +87 -0
- package/dist/lib/generated/Entities/MJNumberPool/mjnumberpool.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.js +129 -0
- package/dist/lib/generated/Entities/MJPhoneNumber/mjphonenumber.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +24 -6
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJQueryPermission/mjquerypermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js +8 -11
- package/dist/lib/generated/Entities/MJRecommendationItem/mjrecommendationitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js +24 -16
- package/dist/lib/generated/Entities/MJRecordChange/mjrecordchange.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRecordCloneLog/mjrecordclonelog.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js +74 -0
- package/dist/lib/generated/Entities/MJRecordCloneLogItem/mjrecordclonelogitem.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js +36 -40
- package/dist/lib/generated/Entities/MJResourceType/mjresourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +39 -21
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js +45 -48
- package/dist/lib/generated/Entities/MJRowLevelSecurityFilter/mjrowlevelsecurityfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js +135 -0
- package/dist/lib/generated/Entities/MJRubric/mjrubric.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js +87 -0
- package/dist/lib/generated/Entities/MJRubricBand/mjrubricband.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRubricCategory/mjrubriccategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js +155 -0
- package/dist/lib/generated/Entities/MJRubricCriterion/mjrubriccriterion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js +62 -0
- package/dist/lib/generated/Entities/MJRubricCriterionLevel/mjrubriccriterionlevel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js +183 -0
- package/dist/lib/generated/Entities/MJRubricEvaluation/mjrubricevaluation.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js +120 -0
- package/dist/lib/generated/Entities/MJRubricEvaluationScore/mjrubricevaluationscore.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js +107 -0
- package/dist/lib/generated/Entities/MJRubricScale/mjrubricscale.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js +103 -0
- package/dist/lib/generated/Entities/MJRubricScaleLevel/mjrubricscalelevel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js +171 -0
- package/dist/lib/generated/Entities/MJRubricVersion/mjrubricversion.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js +15 -18
- package/dist/lib/generated/Entities/MJTemplateContentType/mjtemplatecontenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js +24 -16
- package/dist/lib/generated/Entities/MJTest/mjtest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js +27 -25
- package/dist/lib/generated/Entities/MJTestSuite/mjtestsuite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js +19 -11
- package/dist/lib/generated/Entities/MJTestSuiteRun/mjtestsuiterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +299 -119
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js +5 -9
- package/dist/lib/generated/Entities/MJVersionLabelItem/mjversionlabelitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.js +64 -0
- package/dist/lib/generated/Entities/MJWorkQueueDeduplication/mjworkqueuededuplication.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.js +94 -0
- package/dist/lib/generated/Entities/MJWorkQueueDelivery/mjworkqueuedelivery.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.js +91 -0
- package/dist/lib/generated/Entities/MJWorkQueueMessage/mjworkqueuemessage.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.js +105 -0
- package/dist/lib/generated/Entities/MJWorkQueueSubscription/mjworkqueuesubscription.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.js +129 -0
- package/dist/lib/generated/Entities/MJWorkQueueTopic/mjworkqueuetopic.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.js +85 -0
- package/dist/lib/generated/Entities/MJWorkQueueTransport/mjworkqueuetransport.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js +17 -20
- package/dist/lib/generated/Entities/MJWorkspace/mjworkspace.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +451 -422
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +101 -14
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/panels/ai-agents/agent-realtime.panel.d.ts +7 -1
- package/dist/lib/panels/ai-agents/agent-realtime.panel.d.ts.map +1 -1
- package/dist/lib/panels/ai-agents/agent-realtime.panel.js +89 -43
- package/dist/lib/panels/ai-agents/agent-realtime.panel.js.map +1 -1
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +3 -3
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -1
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js +5 -5
- package/dist/lib/panels/content-sources/tag-pipeline-configuration.panel.js.map +1 -1
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js +4 -4
- package/dist/lib/panels/content-sources/website-crawler-settings.panel.js.map +1 -1
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js +3 -3
- package/dist/lib/panels/form-chrome/entity-relationship-form-role.panel.js.map +1 -1
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +4 -4
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -1
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts +116 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.d.ts.map +1 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js +820 -0
- package/dist/lib/panels/record-clone/entity-clone-config-editor.component.js.map +1 -0
- package/dist/lib/shared/components/template-editor.component.d.ts +25 -1
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +67 -3
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/dist/public-api.d.ts +5 -0
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +5 -0
- package/dist/public-api.js.map +1 -1
- package/package.json +47 -43
|
@@ -22,9 +22,10 @@ import * as i4 from "./template-param-dialog.component";
|
|
|
22
22
|
import * as i5 from "./template-params-grid.component";
|
|
23
23
|
import * as i6 from "../../shared/components/template-editor.component";
|
|
24
24
|
const _c0 = ["codeEditor"];
|
|
25
|
+
const _c1 = ["templateEditor"];
|
|
25
26
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
26
27
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
27
|
-
i0.ɵɵelementStart(0, "input",
|
|
28
|
+
i0.ɵɵelementStart(0, "input", 38);
|
|
28
29
|
i0.ɵɵtwoWayListener("ngModelChange", function MJTemplateFormComponentExtended_Conditional_0_Conditional_9_Template_input_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.record.Name, $event) || (ctx_r1.record.Name = $event); return i0.ɵɵresetView($event); });
|
|
29
30
|
i0.ɵɵelementEnd();
|
|
30
31
|
} if (rf & 2) {
|
|
@@ -32,14 +33,14 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_9_Template(rf
|
|
|
32
33
|
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.record.Name);
|
|
33
34
|
} }
|
|
34
35
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
35
|
-
i0.ɵɵelementStart(0, "span",
|
|
36
|
-
i0.ɵɵelement(1, "i",
|
|
36
|
+
i0.ɵɵelementStart(0, "span", 39);
|
|
37
|
+
i0.ɵɵelement(1, "i", 41);
|
|
37
38
|
i0.ɵɵtext(2, " Active ");
|
|
38
39
|
i0.ɵɵelementEnd();
|
|
39
40
|
} }
|
|
40
41
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelementStart(0, "span",
|
|
42
|
-
i0.ɵɵelement(1, "i",
|
|
42
|
+
i0.ɵɵelementStart(0, "span", 40);
|
|
43
|
+
i0.ɵɵelement(1, "i", 42);
|
|
43
44
|
i0.ɵɵtext(2, " Inactive ");
|
|
44
45
|
i0.ɵɵelementEnd();
|
|
45
46
|
} }
|
|
@@ -47,7 +48,7 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Template(r
|
|
|
47
48
|
i0.ɵɵelementStart(0, "h4");
|
|
48
49
|
i0.ɵɵtext(1);
|
|
49
50
|
i0.ɵɵelementEnd();
|
|
50
|
-
i0.ɵɵconditionalCreate(2, MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Conditional_2_Template, 3, 0, "span",
|
|
51
|
+
i0.ɵɵconditionalCreate(2, MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Conditional_2_Template, 3, 0, "span", 39)(3, MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Conditional_3_Template, 3, 0, "span", 40);
|
|
51
52
|
} if (rf & 2) {
|
|
52
53
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
53
54
|
i0.ɵɵadvance();
|
|
@@ -57,17 +58,17 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Template(r
|
|
|
57
58
|
} }
|
|
58
59
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
59
60
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
60
|
-
i0.ɵɵelementStart(0, "div",
|
|
61
|
+
i0.ɵɵelementStart(0, "div", 11)(1, "div")(2, "label", 43);
|
|
61
62
|
i0.ɵɵtext(3, "Category");
|
|
62
63
|
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementStart(4, "mj-combobox",
|
|
64
|
+
i0.ɵɵelementStart(4, "mj-combobox", 44);
|
|
64
65
|
i0.ɵɵtwoWayListener("ngModelChange", function MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template_mj_combobox_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.record.CategoryID, $event) || (ctx_r1.record.CategoryID = $event); return i0.ɵɵresetView($event); });
|
|
65
66
|
i0.ɵɵlistener("ValueChange", function MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template_mj_combobox_ValueChange_4_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onCategoryChange($event)); });
|
|
66
67
|
i0.ɵɵelementEnd()();
|
|
67
|
-
i0.ɵɵelementStart(5, "div")(6, "label",
|
|
68
|
+
i0.ɵɵelementStart(5, "div")(6, "label", 43);
|
|
68
69
|
i0.ɵɵtext(7, "Active");
|
|
69
70
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵelementStart(8, "mj-switch",
|
|
71
|
+
i0.ɵɵelementStart(8, "mj-switch", 45);
|
|
71
72
|
i0.ɵɵtwoWayListener("ngModelChange", function MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template_mj_switch_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.record.IsActive, $event) || (ctx_r1.record.IsActive = $event); return i0.ɵɵresetView($event); });
|
|
72
73
|
i0.ɵɵelementEnd()()();
|
|
73
74
|
} if (rf & 2) {
|
|
@@ -80,7 +81,7 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template(r
|
|
|
80
81
|
} }
|
|
81
82
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
82
83
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
83
|
-
i0.ɵɵelementStart(0, "textarea",
|
|
84
|
+
i0.ɵɵelementStart(0, "textarea", 46);
|
|
84
85
|
i0.ɵɵtwoWayListener("ngModelChange", function MJTemplateFormComponentExtended_Conditional_0_Conditional_12_Template_textarea_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.record.Description, $event) || (ctx_r1.record.Description = $event); return i0.ɵɵresetView($event); });
|
|
85
86
|
i0.ɵɵelementEnd();
|
|
86
87
|
} if (rf & 2) {
|
|
@@ -89,7 +90,7 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_12_Template(r
|
|
|
89
90
|
i0.ɵɵproperty("rows", 2);
|
|
90
91
|
} }
|
|
91
92
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
-
i0.ɵɵelementStart(0, "p",
|
|
93
|
+
i0.ɵɵelementStart(0, "p", 13);
|
|
93
94
|
i0.ɵɵtext(1);
|
|
94
95
|
i0.ɵɵelementEnd();
|
|
95
96
|
} if (rf & 2) {
|
|
@@ -98,12 +99,12 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_13_Template(r
|
|
|
98
99
|
i0.ɵɵtextInterpolate(ctx_r1.record.Description);
|
|
99
100
|
} }
|
|
100
101
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
-
i0.ɵɵelementStart(0, "div",
|
|
102
|
-
i0.ɵɵelement(1, "i",
|
|
103
|
-
i0.ɵɵelementStart(2, "span",
|
|
102
|
+
i0.ɵɵelementStart(0, "div", 15);
|
|
103
|
+
i0.ɵɵelement(1, "i", 47);
|
|
104
|
+
i0.ɵɵelementStart(2, "span", 17);
|
|
104
105
|
i0.ɵɵtext(3, "Category:");
|
|
105
106
|
i0.ɵɵelementEnd();
|
|
106
|
-
i0.ɵɵelementStart(4, "span",
|
|
107
|
+
i0.ɵɵelementStart(4, "span", 18);
|
|
107
108
|
i0.ɵɵtext(5);
|
|
108
109
|
i0.ɵɵelementEnd()();
|
|
109
110
|
} if (rf & 2) {
|
|
@@ -113,14 +114,14 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_15_Template(r
|
|
|
113
114
|
} }
|
|
114
115
|
function MJTemplateFormComponentExtended_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
115
116
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
116
|
-
i0.ɵɵelementStart(0, "button",
|
|
117
|
+
i0.ɵɵelementStart(0, "button", 48);
|
|
117
118
|
i0.ɵɵlistener("click", function MJTemplateFormComponentExtended_Conditional_0_Conditional_23_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.runTemplate()); });
|
|
118
|
-
i0.ɵɵelement(1, "i",
|
|
119
|
+
i0.ɵɵelement(1, "i", 49);
|
|
119
120
|
i0.ɵɵtext(2, " Run ");
|
|
120
121
|
i0.ɵɵelementEnd();
|
|
121
122
|
} }
|
|
122
123
|
function MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
123
|
-
i0.ɵɵelementStart(0, "span",
|
|
124
|
+
i0.ɵɵelementStart(0, "span", 52);
|
|
124
125
|
i0.ɵɵtext(1);
|
|
125
126
|
i0.ɵɵelementEnd();
|
|
126
127
|
} if (rf & 2) {
|
|
@@ -129,33 +130,33 @@ function MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Conditiona
|
|
|
129
130
|
i0.ɵɵtextInterpolate(ctx_r1.templateContents.length);
|
|
130
131
|
} }
|
|
131
132
|
function MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Template(rf, ctx) { if (rf & 1) {
|
|
132
|
-
i0.ɵɵelementStart(0, "span",
|
|
133
|
-
i0.ɵɵelement(1, "i",
|
|
133
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
134
|
+
i0.ɵɵelement(1, "i", 51);
|
|
134
135
|
i0.ɵɵtext(2, " Template Editor ");
|
|
135
|
-
i0.ɵɵconditionalCreate(3, MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Conditional_3_Template, 2, 1, "span",
|
|
136
|
+
i0.ɵɵconditionalCreate(3, MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Conditional_3_Template, 2, 1, "span", 52);
|
|
136
137
|
i0.ɵɵelementEnd();
|
|
137
138
|
} if (rf & 2) {
|
|
138
139
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
139
140
|
i0.ɵɵadvance(3);
|
|
140
141
|
i0.ɵɵconditional(ctx_r1.templateContents.length > 0 ? 3 : -1);
|
|
141
142
|
} }
|
|
142
|
-
function
|
|
143
|
-
i0.ɵɵelementStart(0, "span",
|
|
144
|
-
i0.ɵɵelement(1, "i",
|
|
143
|
+
function MJTemplateFormComponentExtended_Conditional_0_ng_template_31_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
145
|
+
i0.ɵɵelement(1, "i", 53);
|
|
145
146
|
i0.ɵɵtext(2, " Details ");
|
|
146
147
|
i0.ɵɵelementEnd();
|
|
147
148
|
} }
|
|
148
|
-
function
|
|
149
|
-
i0.ɵɵelementStart(0, "span",
|
|
150
|
-
i0.ɵɵelement(1, "i",
|
|
149
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_45_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
151
|
+
i0.ɵɵelement(1, "i", 56);
|
|
151
152
|
i0.ɵɵtext(2, " Parameters ");
|
|
152
153
|
i0.ɵɵelementEnd();
|
|
153
154
|
} }
|
|
154
|
-
function
|
|
155
|
-
i0.ɵɵelementStart(0, "mj-accordion-panel",
|
|
156
|
-
i0.ɵɵtemplate(1,
|
|
157
|
-
i0.ɵɵelementStart(2, "div",
|
|
158
|
-
i0.ɵɵelement(3, "mj-template-params-grid",
|
|
155
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_45_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
|
|
157
|
+
i0.ɵɵtemplate(1, MJTemplateFormComponentExtended_Conditional_0_Conditional_45_ng_template_1_Template, 3, 0, "ng-template", 23);
|
|
158
|
+
i0.ɵɵelementStart(2, "div", 54);
|
|
159
|
+
i0.ɵɵelement(3, "mj-template-params-grid", 55);
|
|
159
160
|
i0.ɵɵelementEnd()();
|
|
160
161
|
} if (rf & 2) {
|
|
161
162
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -163,17 +164,17 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_44_Template(r
|
|
|
163
164
|
i0.ɵɵadvance(3);
|
|
164
165
|
i0.ɵɵproperty("template", ctx_r1.record)("editMode", ctx_r1.EditMode);
|
|
165
166
|
} }
|
|
166
|
-
function
|
|
167
|
-
i0.ɵɵelementStart(0, "span",
|
|
168
|
-
i0.ɵɵelement(1, "i",
|
|
167
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_46_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
168
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
169
|
+
i0.ɵɵelement(1, "i", 58);
|
|
169
170
|
i0.ɵɵtext(2, " AI Prompts ");
|
|
170
171
|
i0.ɵɵelementEnd();
|
|
171
172
|
} }
|
|
172
|
-
function
|
|
173
|
-
i0.ɵɵelementStart(0, "mj-accordion-panel",
|
|
174
|
-
i0.ɵɵtemplate(1,
|
|
175
|
-
i0.ɵɵelementStart(2, "div",
|
|
176
|
-
i0.ɵɵelement(3, "mj-explorer-entity-data-grid",
|
|
173
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_46_Template(rf, ctx) { if (rf & 1) {
|
|
174
|
+
i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
|
|
175
|
+
i0.ɵɵtemplate(1, MJTemplateFormComponentExtended_Conditional_0_Conditional_46_ng_template_1_Template, 3, 0, "ng-template", 23);
|
|
176
|
+
i0.ɵɵelementStart(2, "div", 54);
|
|
177
|
+
i0.ɵɵelement(3, "mj-explorer-entity-data-grid", 57);
|
|
177
178
|
i0.ɵɵelementEnd()();
|
|
178
179
|
} if (rf & 2) {
|
|
179
180
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -181,17 +182,17 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_45_Template(r
|
|
|
181
182
|
i0.ɵɵadvance(3);
|
|
182
183
|
i0.ɵɵproperty("Params", ctx_r1.BuildRelationshipViewParamsByEntityName("MJ: AI Prompts", "TemplateID"))("NewRecordValues", ctx_r1.NewRecordValues("MJ: AI Prompts"))("AllowLoad", true)("ShowToolbar", false);
|
|
183
184
|
} }
|
|
184
|
-
function
|
|
185
|
-
i0.ɵɵelementStart(0, "span",
|
|
186
|
-
i0.ɵɵelement(1, "i",
|
|
185
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_47_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
187
|
+
i0.ɵɵelement(1, "i", 59);
|
|
187
188
|
i0.ɵɵtext(2, " Entity Documents ");
|
|
188
189
|
i0.ɵɵelementEnd();
|
|
189
190
|
} }
|
|
190
|
-
function
|
|
191
|
-
i0.ɵɵelementStart(0, "mj-accordion-panel",
|
|
192
|
-
i0.ɵɵtemplate(1,
|
|
193
|
-
i0.ɵɵelementStart(2, "div",
|
|
194
|
-
i0.ɵɵelement(3, "mj-explorer-entity-data-grid",
|
|
191
|
+
function MJTemplateFormComponentExtended_Conditional_0_Conditional_47_Template(rf, ctx) { if (rf & 1) {
|
|
192
|
+
i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
|
|
193
|
+
i0.ɵɵtemplate(1, MJTemplateFormComponentExtended_Conditional_0_Conditional_47_ng_template_1_Template, 3, 0, "ng-template", 23);
|
|
194
|
+
i0.ɵɵelementStart(2, "div", 54);
|
|
195
|
+
i0.ɵɵelement(3, "mj-explorer-entity-data-grid", 57);
|
|
195
196
|
i0.ɵɵelementEnd()();
|
|
196
197
|
} if (rf & 2) {
|
|
197
198
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -201,47 +202,47 @@ function MJTemplateFormComponentExtended_Conditional_0_Conditional_46_Template(r
|
|
|
201
202
|
} }
|
|
202
203
|
function MJTemplateFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
203
204
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
204
|
-
i0.ɵɵelementStart(0, "mj-record-form-container",
|
|
205
|
+
i0.ɵɵelementStart(0, "mj-record-form-container", 2);
|
|
205
206
|
i0.ɵɵlistener("Navigate", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_record_form_container_Navigate_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnFormNavigate($event)); })("DeleteRequested", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_record_form_container_DeleteRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnDeleteRequested()); })("FavoriteToggled", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_record_form_container_FavoriteToggled_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnFavoriteToggled()); })("HistoryRequested", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_record_form_container_HistoryRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnHistoryRequested()); })("ListManagementRequested", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_record_form_container_ListManagementRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnListManagementRequested()); });
|
|
206
|
-
i0.ɵɵelementStart(1, "form",
|
|
207
|
-
i0.ɵɵelement(8, "i",
|
|
208
|
-
i0.ɵɵconditionalCreate(9, MJTemplateFormComponentExtended_Conditional_0_Conditional_9_Template, 1, 1, "input",
|
|
207
|
+
i0.ɵɵelementStart(1, "form", 3, 0)(3, "div", 4)(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8);
|
|
208
|
+
i0.ɵɵelement(8, "i", 9);
|
|
209
|
+
i0.ɵɵconditionalCreate(9, MJTemplateFormComponentExtended_Conditional_0_Conditional_9_Template, 1, 1, "input", 10)(10, MJTemplateFormComponentExtended_Conditional_0_Conditional_10_Template, 4, 2);
|
|
209
210
|
i0.ɵɵelementEnd();
|
|
210
|
-
i0.ɵɵconditionalCreate(11, MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template, 9, 5, "div",
|
|
211
|
-
i0.ɵɵconditionalCreate(12, MJTemplateFormComponentExtended_Conditional_0_Conditional_12_Template, 1, 2, "textarea",
|
|
212
|
-
i0.ɵɵelementStart(14, "div",
|
|
213
|
-
i0.ɵɵconditionalCreate(15, MJTemplateFormComponentExtended_Conditional_0_Conditional_15_Template, 6, 1, "div",
|
|
214
|
-
i0.ɵɵelementStart(16, "div",
|
|
215
|
-
i0.ɵɵelement(17, "i",
|
|
216
|
-
i0.ɵɵelementStart(18, "span",
|
|
211
|
+
i0.ɵɵconditionalCreate(11, MJTemplateFormComponentExtended_Conditional_0_Conditional_11_Template, 9, 5, "div", 11);
|
|
212
|
+
i0.ɵɵconditionalCreate(12, MJTemplateFormComponentExtended_Conditional_0_Conditional_12_Template, 1, 2, "textarea", 12)(13, MJTemplateFormComponentExtended_Conditional_0_Conditional_13_Template, 2, 1, "p", 13);
|
|
213
|
+
i0.ɵɵelementStart(14, "div", 14);
|
|
214
|
+
i0.ɵɵconditionalCreate(15, MJTemplateFormComponentExtended_Conditional_0_Conditional_15_Template, 6, 1, "div", 15);
|
|
215
|
+
i0.ɵɵelementStart(16, "div", 15);
|
|
216
|
+
i0.ɵɵelement(17, "i", 16);
|
|
217
|
+
i0.ɵɵelementStart(18, "span", 17);
|
|
217
218
|
i0.ɵɵtext(19, "Contents:");
|
|
218
219
|
i0.ɵɵelementEnd();
|
|
219
|
-
i0.ɵɵelementStart(20, "span",
|
|
220
|
+
i0.ɵɵelementStart(20, "span", 18);
|
|
220
221
|
i0.ɵɵtext(21);
|
|
221
222
|
i0.ɵɵelementEnd()()()();
|
|
222
|
-
i0.ɵɵelementStart(22, "div",
|
|
223
|
-
i0.ɵɵconditionalCreate(23, MJTemplateFormComponentExtended_Conditional_0_Conditional_23_Template, 3, 0, "button",
|
|
223
|
+
i0.ɵɵelementStart(22, "div", 19);
|
|
224
|
+
i0.ɵɵconditionalCreate(23, MJTemplateFormComponentExtended_Conditional_0_Conditional_23_Template, 3, 0, "button", 20);
|
|
224
225
|
i0.ɵɵelementEnd()()();
|
|
225
|
-
i0.ɵɵelementStart(24, "div",
|
|
226
|
-
i0.ɵɵtemplate(26, MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Template, 4, 1, "ng-template",
|
|
227
|
-
i0.ɵɵelementStart(27, "div",
|
|
226
|
+
i0.ɵɵelementStart(24, "div", 21)(25, "mj-accordion-panel", 22);
|
|
227
|
+
i0.ɵɵtemplate(26, MJTemplateFormComponentExtended_Conditional_0_ng_template_26_Template, 4, 1, "ng-template", 23);
|
|
228
|
+
i0.ɵɵelementStart(27, "div", 24)(28, "mj-template-editor", 25, 1);
|
|
228
229
|
i0.ɵɵlistener("contentChange", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_template_editor_contentChange_28_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSharedTemplateContentChange($event)); })("runTemplate", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_template_editor_runTemplate_28_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onSharedTemplateRun($event)); });
|
|
229
230
|
i0.ɵɵelementEnd()()();
|
|
230
|
-
i0.ɵɵelementStart(
|
|
231
|
-
i0.ɵɵtemplate(
|
|
232
|
-
i0.ɵɵelementStart(
|
|
233
|
-
i0.ɵɵelement(
|
|
231
|
+
i0.ɵɵelementStart(30, "mj-accordion-panel", 22);
|
|
232
|
+
i0.ɵɵtemplate(31, MJTemplateFormComponentExtended_Conditional_0_ng_template_31_Template, 3, 0, "ng-template", 23);
|
|
233
|
+
i0.ɵɵelementStart(32, "div", 26)(33, "div", 27)(34, "div");
|
|
234
|
+
i0.ɵɵelement(35, "mj-form-field", 28)(36, "mj-form-field", 29)(37, "mj-form-field", 30)(38, "mj-form-field", 31);
|
|
234
235
|
i0.ɵɵelementEnd();
|
|
235
|
-
i0.ɵɵelementStart(
|
|
236
|
-
i0.ɵɵelement(
|
|
236
|
+
i0.ɵɵelementStart(39, "div");
|
|
237
|
+
i0.ɵɵelement(40, "mj-form-field", 32)(41, "mj-form-field", 33)(42, "mj-form-field", 34)(43, "mj-form-field", 35)(44, "mj-form-field", 36);
|
|
237
238
|
i0.ɵɵelementEnd()()()();
|
|
238
|
-
i0.ɵɵconditionalCreate(
|
|
239
|
-
i0.ɵɵconditionalCreate(
|
|
240
|
-
i0.ɵɵconditionalCreate(
|
|
239
|
+
i0.ɵɵconditionalCreate(45, MJTemplateFormComponentExtended_Conditional_0_Conditional_45_Template, 4, 3, "mj-accordion-panel", 22);
|
|
240
|
+
i0.ɵɵconditionalCreate(46, MJTemplateFormComponentExtended_Conditional_0_Conditional_46_Template, 4, 5, "mj-accordion-panel", 22);
|
|
241
|
+
i0.ɵɵconditionalCreate(47, MJTemplateFormComponentExtended_Conditional_0_Conditional_47_Template, 4, 5, "mj-accordion-panel", 22);
|
|
241
242
|
i0.ɵɵelementEnd()()()();
|
|
242
|
-
i0.ɵɵelementStart(
|
|
243
|
-
i0.ɵɵtwoWayListener("isVisibleChange", function
|
|
244
|
-
i0.ɵɵlistener("onClose", function
|
|
243
|
+
i0.ɵɵelementStart(48, "mj-template-param-dialog", 37);
|
|
244
|
+
i0.ɵɵtwoWayListener("isVisibleChange", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_template_param_dialog_isVisibleChange_48_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r1.showParamDialog, $event) || (ctx_r1.showParamDialog = $event); return i0.ɵɵresetView($event); });
|
|
245
|
+
i0.ɵɵlistener("onClose", function MJTemplateFormComponentExtended_Conditional_0_Template_mj_template_param_dialog_onClose_48_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onParamDialogClose()); });
|
|
245
246
|
i0.ɵɵelementEnd();
|
|
246
247
|
} if (rf & 2) {
|
|
247
248
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -262,7 +263,7 @@ function MJTemplateFormComponentExtended_Conditional_0_Template(rf, ctx) { if (r
|
|
|
262
263
|
i0.ɵɵproperty("Expanded", true);
|
|
263
264
|
i0.ɵɵadvance(3);
|
|
264
265
|
i0.ɵɵproperty("template", ctx_r1.record)("config", ctx_r1.templateEditorConfig);
|
|
265
|
-
i0.ɵɵadvance();
|
|
266
|
+
i0.ɵɵadvance(2);
|
|
266
267
|
i0.ɵɵproperty("Expanded", false);
|
|
267
268
|
i0.ɵɵadvance(5);
|
|
268
269
|
i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode);
|
|
@@ -283,12 +284,12 @@ function MJTemplateFormComponentExtended_Conditional_0_Template(rf, ctx) { if (r
|
|
|
283
284
|
i0.ɵɵadvance();
|
|
284
285
|
i0.ɵɵproperty("Record", ctx_r1.record)("ShowLabel", true)("EditMode", ctx_r1.EditMode);
|
|
285
286
|
i0.ɵɵadvance();
|
|
286
|
-
i0.ɵɵconditional(ctx_r1.record.IsSaved ? 44 : -1);
|
|
287
|
-
i0.ɵɵadvance();
|
|
288
287
|
i0.ɵɵconditional(ctx_r1.record.IsSaved ? 45 : -1);
|
|
289
288
|
i0.ɵɵadvance();
|
|
290
289
|
i0.ɵɵconditional(ctx_r1.record.IsSaved ? 46 : -1);
|
|
291
290
|
i0.ɵɵadvance();
|
|
291
|
+
i0.ɵɵconditional(ctx_r1.record.IsSaved ? 47 : -1);
|
|
292
|
+
i0.ɵɵadvance();
|
|
292
293
|
i0.ɵɵproperty("template", ctx_r1.record);
|
|
293
294
|
i0.ɵɵtwoWayProperty("isVisible", ctx_r1.showParamDialog);
|
|
294
295
|
} }
|
|
@@ -466,6 +467,7 @@ let MJTemplateFormComponentExtended = class MJTemplateFormComponentExtended exte
|
|
|
466
467
|
this.LoadContentTypes();
|
|
467
468
|
}
|
|
468
469
|
ngOnDestroy() {
|
|
470
|
+
super.ngOnDestroy();
|
|
469
471
|
this.destroy$.next();
|
|
470
472
|
this.destroy$.complete();
|
|
471
473
|
// Clean up any active timeouts
|
|
@@ -813,33 +815,22 @@ let MJTemplateFormComponentExtended = class MJTemplateFormComponentExtended exte
|
|
|
813
815
|
}, 0);
|
|
814
816
|
});
|
|
815
817
|
}
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
this.
|
|
830
|
-
this.NewTemplateContent = null;
|
|
831
|
-
this.updateUnsavedChangesFlag(); // Update based on current entity states
|
|
832
|
-
return true;
|
|
833
|
-
}
|
|
834
|
-
catch (error) {
|
|
835
|
-
console.error('Error saving template contents:', error);
|
|
836
|
-
return false;
|
|
818
|
+
/**
|
|
819
|
+
* The embedded editor's new/dirty Template Contents join this form's pending records, so
|
|
820
|
+
* `InternalSaveRecord()` commits the template and its contents in ONE transaction group (the
|
|
821
|
+
* template first, so the content's TemplateID resolves) and `Validate()` covers the contents too.
|
|
822
|
+
*
|
|
823
|
+
* Before this, the form saved each content on its own AFTER the template save had already been
|
|
824
|
+
* reported as successful; a content whose `Save()` returned false only reached `console.error`,
|
|
825
|
+
* no mutation was issued, and the editor kept showing "Unsaved changes" forever.
|
|
826
|
+
*/
|
|
827
|
+
PopulatePendingRecords() {
|
|
828
|
+
super.PopulatePendingRecords();
|
|
829
|
+
const editorChanges = this.TemplateEditor?.GetPendingChanges() ?? [];
|
|
830
|
+
for (const change of editorChanges) {
|
|
831
|
+
this.PendingRecords.push(change);
|
|
837
832
|
}
|
|
838
833
|
}
|
|
839
|
-
/** @deprecated Use {@link SaveTemplateContents}. */
|
|
840
|
-
async saveTemplateContents() {
|
|
841
|
-
return this.SaveTemplateContents();
|
|
842
|
-
}
|
|
843
834
|
async SaveRecord(StopEditModeAfterSave = true) {
|
|
844
835
|
// Check if we need to create a new category first
|
|
845
836
|
if (this.record.CategoryID && !this.CategoryOptions.find(opt => opt.value === this.record.CategoryID)) {
|
|
@@ -887,12 +878,15 @@ let MJTemplateFormComponentExtended = class MJTemplateFormComponentExtended exte
|
|
|
887
878
|
const md = this.ProviderToUse;
|
|
888
879
|
this.record.UserID = md.CurrentUser.ID;
|
|
889
880
|
}
|
|
881
|
+
// The template AND the editor's contents commit together here (see PopulatePendingRecords)
|
|
890
882
|
const templateSaved = await super.SaveRecord(StopEditModeAfterSave);
|
|
891
883
|
if (templateSaved) {
|
|
892
|
-
|
|
893
|
-
|
|
884
|
+
this.TemplateEditor?.MarkContentsSaved();
|
|
885
|
+
this.IsAddingNewContent = false;
|
|
886
|
+
this.NewTemplateContent = null;
|
|
887
|
+
this.updateUnsavedChangesFlag();
|
|
894
888
|
}
|
|
895
|
-
return
|
|
889
|
+
return templateSaved;
|
|
896
890
|
}
|
|
897
891
|
GetContentTypeDisplayText(typeId) {
|
|
898
892
|
if (!typeId)
|
|
@@ -1005,12 +999,13 @@ let MJTemplateFormComponentExtended = class MJTemplateFormComponentExtended exte
|
|
|
1005
999
|
}
|
|
1006
1000
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJTemplateFormComponentExtended_BaseFactory; return function MJTemplateFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJTemplateFormComponentExtended_BaseFactory || (ɵMJTemplateFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJTemplateFormComponentExtended)))(__ngFactoryType__ || MJTemplateFormComponentExtended); }; })(); }
|
|
1007
1001
|
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJTemplateFormComponentExtended, selectors: [["mj-templates-form"]], viewQuery: function MJTemplateFormComponentExtended_Query(rf, ctx) { if (rf & 1) {
|
|
1008
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
1002
|
+
i0.ɵɵviewQuery(_c0, 5)(_c1, 5);
|
|
1009
1003
|
} if (rf & 2) {
|
|
1010
1004
|
let _t;
|
|
1011
1005
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.CodeEditor = _t.first);
|
|
1012
|
-
|
|
1013
|
-
|
|
1006
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.TemplateEditor = _t.first);
|
|
1007
|
+
} }, standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["form", "ngForm"], ["templateEditor", ""], [3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent", "ToolbarConfig", "WidthMode"], [1, "record-form", 2, "display", "flex", "flex-direction", "column", "height", "100%", "overflow", "hidden"], [1, "template-main-area", 2, "display", "flex", "flex-direction", "column", "flex", "1", "min-height", "0", "overflow-y", "auto"], [1, "template-header-area"], [2, "display", "flex", "justify-content", "space-between", "align-items", "flex-start", "gap", "20px"], [2, "flex", "1", "min-width", "0"], [2, "display", "flex", "align-items", "center", "gap", "12px", "margin-bottom", "8px"], [1, "fa-solid", "fa-file-code", "template-icon"], ["type", "text", "name", "templateName", "placeholder", "Enter template name...", 1, "mj-input", 2, "font-size", "1.2em", "font-weight", "600", "min-width", "300px", "flex", "1", 3, "ngModel"], [2, "display", "flex", "gap", "16px", "margin-bottom", "12px", "flex-wrap", "wrap", "align-items", "center"], ["name", "description", "placeholder", "Enter template description...", 1, "mj-textarea", 2, "width", "100%", "max-width", "600px", "margin-bottom", "12px", 3, "ngModel", "rows"], [1, "description-text"], [2, "display", "flex", "align-items", "center", "gap", "16px", "flex-wrap", "wrap"], [2, "display", "flex", "align-items", "center", "gap", "6px", "font-size", "0.85em"], [1, "fa-solid", "fa-file-lines", "meta-icon"], [1, "meta-label"], [1, "meta-value"], [2, "display", "flex", "flex-direction", "column", "gap", "8px", "align-items", "flex-end"], ["title", "Run Template", 1, "run-template-btn"], [1, "configuration-sections"], [2, "margin-bottom", "12px", 3, "Expanded"], ["mjAccordionTitle", ""], [2, "padding", "8px", "min-height", "400px"], [2, "height", "100%", "display", "block", 3, "contentChange", "runTemplate", "template", "config"], [2, "padding", "16px"], [2, "display", "grid", "grid-template-columns", "1fr 1fr", "gap", "20px"], ["FieldName", "UserPrompt", "Type", "textarea", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "UserID", "Type", "textbox", "LinkType", "Record", "LinkComponentType", "Search", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "ActiveAt", "Type", "datepicker", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "DisabledAt", "Type", "datepicker", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "IsActive", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "__mj_CreatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "__mj_UpdatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "Category", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode"], ["FieldName", "User", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode"], [3, "isVisibleChange", "onClose", "template", "isVisible"], ["type", "text", "name", "templateName", "placeholder", "Enter template name...", 1, "mj-input", 2, "font-size", "1.2em", "font-weight", "600", "min-width", "300px", "flex", "1", 3, "ngModelChange", "ngModel"], [1, "active-badge"], [1, "inactive-badge"], [1, "fa-solid", "fa-check-circle"], [1, "fa-solid", "fa-pause-circle"], [1, "field-label"], ["name", "categoryId", "TextField", "text", "ValueField", "value", "Placeholder", "Select or enter new category...", 2, "width", "250px", 3, "ngModelChange", "ValueChange", "ngModel", "Data", "ValuePrimitive", "AllowCustom"], ["name", "isActive", 3, "ngModelChange", "ngModel"], ["name", "description", "placeholder", "Enter template description...", 1, "mj-textarea", 2, "width", "100%", "max-width", "600px", "margin-bottom", "12px", 3, "ngModelChange", "ngModel", "rows"], [1, "fa-solid", "fa-folder", "meta-icon"], ["title", "Run Template", 1, "run-template-btn", 3, "click"], [1, "fa-solid", "fa-play"], [1, "panel-title"], [1, "fa-solid", "fa-code"], [1, "count-badge"], [1, "fa-solid", "fa-cogs"], [2, "padding", "16px 0"], [3, "template", "editMode"], [1, "fa-solid", "fa-sliders"], [3, "Params", "NewRecordValues", "AllowLoad", "ShowToolbar"], [1, "fa-solid", "fa-robot"], [1, "fa-solid", "fa-file-text"]], template: function MJTemplateFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
1008
|
+
i0.ɵɵconditionalCreate(0, MJTemplateFormComponentExtended_Conditional_0_Template, 49, 46);
|
|
1014
1009
|
} if (rf & 2) {
|
|
1015
1010
|
i0.ɵɵconditional(ctx.record ? 0 : -1);
|
|
1016
1011
|
} }, dependencies: [i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.NgModel, i1.NgForm, i2.MJAccordionPanelComponent, i2.MJAccordionTitleDirective, i2.MJComboboxComponent, i2.MJSwitchComponent, i3.MjFormFieldComponent, i3.MjRecordFormContainerComponent, i3.ExplorerEntityDataGridComponent, i4.TemplateParamDialogComponent, i5.TemplateParamsGridComponent, i6.TemplateEditorComponent], styles: [".k-pane[_ngcontent-%COMP%] {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin[_ngcontent-%COMP%] {\n margin: 10px;\n}\n\n\na[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton[_ngcontent-%COMP%] {\n margin-right: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin-bottom: 10px;\n}\n\n.k-splitter[_ngcontent-%COMP%] {\n border-width: 0px;\n}\n\n.record-form-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > [_ngcontent-%COMP%]:first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form[_ngcontent-%COMP%] .record-form-row[_ngcontent-%COMP%] > span[_ngcontent-%COMP%] {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row[_ngcontent-%COMP%] {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n\n.form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n\n@media (min-width: 1400px) {\n .form-panels-container[_ngcontent-%COMP%] .related-entity-grid[_ngcontent-%COMP%] {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card[_ngcontent-%COMP%] {\n overflow: hidden;\n}\n\n.collapsible-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body[_ngcontent-%COMP%] {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed[_ngcontent-%COMP%] {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n}\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:active {\n transform: translateY(0);\n}\n\n.form-section-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%] {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: var(--mj-text-muted);\n}", "\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.record-form-container[_ngcontent-%COMP%] {\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n background: var(--mj-bg-surface);\n}\n\n\n.record-form[_ngcontent-%COMP%] {\n min-height: 0 !important;\n}\n\n.template-header[_ngcontent-%COMP%] {\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n\n.template-header-area[_ngcontent-%COMP%] {\n flex-shrink: 0;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n.template-header-area[_ngcontent-%COMP%] .template-icon[_ngcontent-%COMP%] {\n color: var(--mj-brand-primary);\n font-size: 1.4em;\n}\n\n.template-header-area[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n flex: 1;\n}\n\n.template-header-area[_ngcontent-%COMP%] .active-badge[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n border: 1px solid color-mix(in srgb, var(--mj-status-success) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area[_ngcontent-%COMP%] .inactive-badge[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-text-muted) 15%, var(--mj-bg-surface));\n color: var(--mj-text-muted);\n border: 1px solid color-mix(in srgb, var(--mj-text-muted) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area[_ngcontent-%COMP%] .field-label[_ngcontent-%COMP%] {\n display: block;\n margin-bottom: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n}\n\n.template-header-area[_ngcontent-%COMP%] .description-text[_ngcontent-%COMP%] {\n margin: 0 0 12px 0;\n color: var(--mj-text-muted);\n font-size: 0.9em;\n line-height: 1.4;\n}\n\n.template-header-area[_ngcontent-%COMP%] .meta-icon[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n.template-header-area[_ngcontent-%COMP%] .meta-label[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n.template-header-area[_ngcontent-%COMP%] .meta-value[_ngcontent-%COMP%] {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n\n.run-template-btn[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 0.95em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.run-template-btn[_ngcontent-%COMP%]:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n\n.configuration-sections[_ngcontent-%COMP%] {\n flex: 1;\n background: var(--mj-bg-surface);\n border-top: 2px solid var(--mj-border-default);\n padding: 16px;\n min-height: 0;\n}\n\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n.panel-title[_ngcontent-%COMP%] .count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n}\n\n.badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n\n .configuration-sections mj-accordion-panel {\n margin-bottom: 12px;\n}\n\n .configuration-sections .mj-accordion-panel {\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n background: var(--mj-bg-surface-card);\n}\n\n .configuration-sections .mj-accordion-header {\n padding: 16px 20px;\n font-weight: 600;\n font-size: 16px;\n}\n\n .configuration-sections .mj-accordion-panel--expanded .mj-accordion-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n .configuration-sections .mj-accordion-body {\n padding: 0;\n}\n\n\n.template-header[_ngcontent-%COMP%], \n.badge[_ngcontent-%COMP%] {\n transition: all 0.2s ease;\n}"] }); }
|
|
@@ -1021,10 +1016,13 @@ MJTemplateFormComponentExtended = __decorate([
|
|
|
1021
1016
|
export { MJTemplateFormComponentExtended };
|
|
1022
1017
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJTemplateFormComponentExtended, [{
|
|
1023
1018
|
type: Component,
|
|
1024
|
-
args: [{ standalone: false, selector: 'mj-templates-form', template: "@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n [ToolbarConfig]=\"toolbarConfig\"\n [WidthMode]=\"'full-width'\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n\n <!-- Main Content Area -->\n <div class=\"template-main-area\" style=\"display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto;\">\n\n <!-- Header Section -->\n <div class=\"template-header-area\">\n <div style=\"display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;\">\n\n <!-- Left: Template Info -->\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i class=\"fa-solid fa-file-code template-icon\"></i>\n @if (EditMode) {\n <input type=\"text\" class=\"mj-input\"\n [(ngModel)]=\"record.Name\"\n name=\"templateName\"\n placeholder=\"Enter template name...\"\n style=\"font-size: 1.2em; font-weight: 600; min-width: 300px; flex: 1;\" />\n } @else {\n <h4>{{ record.Name || 'Unnamed Template' }}</h4>\n @if (record.IsActive) {\n <span class=\"active-badge\">\n <i class=\"fa-solid fa-check-circle\"></i> Active\n </span>\n } @else {\n <span class=\"inactive-badge\">\n <i class=\"fa-solid fa-pause-circle\"></i> Inactive\n </span>\n }\n }\n </div>\n\n <!-- Category and Active toggle when in edit mode -->\n @if (EditMode) {\n <div style=\"display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; align-items: center;\">\n <div>\n <label class=\"field-label\">Category</label>\n <mj-combobox [(ngModel)]=\"record.CategoryID\"\n name=\"categoryId\"\n [Data]=\"categoryOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [AllowCustom]=\"true\"\n (ValueChange)=\"onCategoryChange($any($event))\"\n Placeholder=\"Select or enter new category...\"\n style=\"width: 250px;\">\n </mj-combobox>\n </div>\n <div>\n <label class=\"field-label\">Active</label>\n <mj-switch [(ngModel)]=\"record.IsActive\" name=\"isActive\"></mj-switch>\n </div>\n </div>\n }\n\n @if (EditMode) {\n <textarea class=\"mj-textarea\"\n [(ngModel)]=\"record.Description\"\n name=\"description\"\n [rows]=\"2\"\n placeholder=\"Enter template description...\"\n style=\"width: 100%; max-width: 600px; margin-bottom: 12px;\"></textarea>\n } @else if (record.Description) {\n <p class=\"description-text\">{{ record.Description }}</p>\n }\n\n <!-- Quick Info Row -->\n <div style=\"display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n @if (record.Category) {\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-folder meta-icon\"></i>\n <span class=\"meta-label\">Category:</span>\n <span class=\"meta-value\">{{ record.Category }}</span>\n </div>\n }\n\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-file-lines meta-icon\"></i>\n <span class=\"meta-label\">Contents:</span>\n <span class=\"meta-value\">{{ templateContents.length }}</span>\n </div>\n </div>\n </div>\n\n <!-- Right: Action Buttons -->\n <div style=\"display: flex; flex-direction: column; gap: 8px; align-items: flex-end;\">\n @if (record.IsSaved) {\n <button class=\"run-template-btn\"\n (click)=\"runTemplate()\"\n title=\"Run Template\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Configuration Sections with Expansion Panels -->\n <div class=\"configuration-sections\">\n\n <!-- Template Editor Section -->\n <mj-accordion-panel\n [Expanded]=\"true\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Template Editor\n @if (templateContents.length > 0) {\n <span class=\"count-badge\">{{ templateContents.length }}</span>\n }\n </span>\n </ng-template>\n\n <div style=\"padding: 8px; min-height: 400px;\">\n <mj-template-editor\n [template]=\"record\"\n [config]=\"templateEditorConfig\"\n (contentChange)=\"onSharedTemplateContentChange($event)\"\n (runTemplate)=\"onSharedTemplateRun($event)\"\n style=\"height: 100%; display: block;\">\n </mj-template-editor>\n </div>\n </mj-accordion-panel>\n\n <!-- Details Section -->\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Details\n </span>\n </ng-template>\n\n <div style=\"padding: 16px;\">\n <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 20px;\">\n <!-- Left Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserPrompt\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n LinkType=\"Record\"\n LinkComponentType=\"Search\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ActiveAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"DisabledAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n\n <!-- Right Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"IsActive\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_UpdatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Category\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"User\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n\n <!-- Template Parameters Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Parameters\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-template-params-grid\n [template]=\"record\"\n [editMode]=\"EditMode\">\n </mj-template-params-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- AI Prompts Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-robot\"></i>\n AI Prompts\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompts','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompts')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Entity Documents Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-file-text\"></i>\n Entity Documents\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Documents','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Documents')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n </div>\n </div>\n </form>\n</mj-record-form-container>\n\n<!-- Template Parameter Dialog -->\n<mj-template-param-dialog\n [template]=\"record\"\n [(isVisible)]=\"showParamDialog\"\n (onClose)=\"onParamDialogClose()\">\n</mj-template-param-dialog>\n}\n", styles: [".k-pane {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin {\n margin: 10px;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header .collapse-icon {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-header {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-title i {\n color: var(--mj-brand-primary);\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls .section-search::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: var(--mj-text-muted);\n}\n", "/* Override shared form-styles to enable flex layout */\n:host {\n display: block;\n height: 100%;\n}\n\n.record-form-container {\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n background: var(--mj-bg-surface);\n}\n\n/* Override the shared record-form min-height so flex layout works properly */\n.record-form {\n min-height: 0 !important;\n}\n\n.template-header {\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n/* Header section */\n.template-header-area {\n flex-shrink: 0;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n.template-header-area .template-icon {\n color: var(--mj-brand-primary);\n font-size: 1.4em;\n}\n\n.template-header-area h4 {\n margin: 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n flex: 1;\n}\n\n.template-header-area .active-badge {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n border: 1px solid color-mix(in srgb, var(--mj-status-success) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area .inactive-badge {\n background: color-mix(in srgb, var(--mj-text-muted) 15%, var(--mj-bg-surface));\n color: var(--mj-text-muted);\n border: 1px solid color-mix(in srgb, var(--mj-text-muted) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area .field-label {\n display: block;\n margin-bottom: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n}\n\n.template-header-area .description-text {\n margin: 0 0 12px 0;\n color: var(--mj-text-muted);\n font-size: 0.9em;\n line-height: 1.4;\n}\n\n.template-header-area .meta-icon {\n color: var(--mj-text-muted);\n}\n\n.template-header-area .meta-label {\n color: var(--mj-text-muted);\n}\n\n.template-header-area .meta-value {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n/* Run template button */\n.run-template-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 0.95em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.run-template-btn:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n/* Configuration sections */\n.configuration-sections {\n flex: 1;\n background: var(--mj-bg-surface);\n border-top: 2px solid var(--mj-border-default);\n padding: 16px;\n min-height: 0;\n}\n\n/* Expansion panel titles */\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.panel-title i {\n color: var(--mj-text-muted);\n}\n\n.panel-title .count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n/* Accordion Panel Styling */\n::ng-deep .configuration-sections mj-accordion-panel {\n margin-bottom: 12px;\n}\n\n::ng-deep .configuration-sections .mj-accordion-panel {\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n background: var(--mj-bg-surface-card);\n}\n\n::ng-deep .configuration-sections .mj-accordion-header {\n padding: 16px 20px;\n font-weight: 600;\n font-size: 16px;\n}\n\n::ng-deep .configuration-sections .mj-accordion-panel--expanded .mj-accordion-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n::ng-deep .configuration-sections .mj-accordion-body {\n padding: 0;\n}\n\n/* Smooth transitions */\n.template-header,\n.badge {\n transition: all 0.2s ease;\n}\n"] }]
|
|
1019
|
+
args: [{ standalone: false, selector: 'mj-templates-form', template: "@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n [ToolbarConfig]=\"toolbarConfig\"\n [WidthMode]=\"'full-width'\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n <form class=\"record-form\" #form=\"ngForm\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\n\n <!-- Main Content Area -->\n <div class=\"template-main-area\" style=\"display: flex; flex-direction: column; flex: 1; min-height: 0; overflow-y: auto;\">\n\n <!-- Header Section -->\n <div class=\"template-header-area\">\n <div style=\"display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;\">\n\n <!-- Left: Template Info -->\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i class=\"fa-solid fa-file-code template-icon\"></i>\n @if (EditMode) {\n <input type=\"text\" class=\"mj-input\"\n [(ngModel)]=\"record.Name\"\n name=\"templateName\"\n placeholder=\"Enter template name...\"\n style=\"font-size: 1.2em; font-weight: 600; min-width: 300px; flex: 1;\" />\n } @else {\n <h4>{{ record.Name || 'Unnamed Template' }}</h4>\n @if (record.IsActive) {\n <span class=\"active-badge\">\n <i class=\"fa-solid fa-check-circle\"></i> Active\n </span>\n } @else {\n <span class=\"inactive-badge\">\n <i class=\"fa-solid fa-pause-circle\"></i> Inactive\n </span>\n }\n }\n </div>\n\n <!-- Category and Active toggle when in edit mode -->\n @if (EditMode) {\n <div style=\"display: flex; gap: 16px; margin-bottom: 12px; flex-wrap: wrap; align-items: center;\">\n <div>\n <label class=\"field-label\">Category</label>\n <mj-combobox [(ngModel)]=\"record.CategoryID\"\n name=\"categoryId\"\n [Data]=\"categoryOptions\"\n TextField=\"text\"\n ValueField=\"value\"\n [ValuePrimitive]=\"true\"\n [AllowCustom]=\"true\"\n (ValueChange)=\"onCategoryChange($any($event))\"\n Placeholder=\"Select or enter new category...\"\n style=\"width: 250px;\">\n </mj-combobox>\n </div>\n <div>\n <label class=\"field-label\">Active</label>\n <mj-switch [(ngModel)]=\"record.IsActive\" name=\"isActive\"></mj-switch>\n </div>\n </div>\n }\n\n @if (EditMode) {\n <textarea class=\"mj-textarea\"\n [(ngModel)]=\"record.Description\"\n name=\"description\"\n [rows]=\"2\"\n placeholder=\"Enter template description...\"\n style=\"width: 100%; max-width: 600px; margin-bottom: 12px;\"></textarea>\n } @else if (record.Description) {\n <p class=\"description-text\">{{ record.Description }}</p>\n }\n\n <!-- Quick Info Row -->\n <div style=\"display: flex; align-items: center; gap: 16px; flex-wrap: wrap;\">\n @if (record.Category) {\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-folder meta-icon\"></i>\n <span class=\"meta-label\">Category:</span>\n <span class=\"meta-value\">{{ record.Category }}</span>\n </div>\n }\n\n <div style=\"display: flex; align-items: center; gap: 6px; font-size: 0.85em;\">\n <i class=\"fa-solid fa-file-lines meta-icon\"></i>\n <span class=\"meta-label\">Contents:</span>\n <span class=\"meta-value\">{{ templateContents.length }}</span>\n </div>\n </div>\n </div>\n\n <!-- Right: Action Buttons -->\n <div style=\"display: flex; flex-direction: column; gap: 8px; align-items: flex-end;\">\n @if (record.IsSaved) {\n <button class=\"run-template-btn\"\n (click)=\"runTemplate()\"\n title=\"Run Template\">\n <i class=\"fa-solid fa-play\"></i> Run\n </button>\n }\n </div>\n </div>\n </div>\n\n <!-- Configuration Sections with Expansion Panels -->\n <div class=\"configuration-sections\">\n\n <!-- Template Editor Section -->\n <mj-accordion-panel\n [Expanded]=\"true\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Template Editor\n @if (templateContents.length > 0) {\n <span class=\"count-badge\">{{ templateContents.length }}</span>\n }\n </span>\n </ng-template>\n\n <div style=\"padding: 8px; min-height: 400px;\">\n <mj-template-editor\n #templateEditor\n [template]=\"record\"\n [config]=\"templateEditorConfig\"\n (contentChange)=\"onSharedTemplateContentChange($event)\"\n (runTemplate)=\"onSharedTemplateRun($event)\"\n style=\"height: 100%; display: block;\">\n </mj-template-editor>\n </div>\n </mj-accordion-panel>\n\n <!-- Details Section -->\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-cogs\"></i>\n Details\n </span>\n </ng-template>\n\n <div style=\"padding: 16px;\">\n <div style=\"display: grid; grid-template-columns: 1fr 1fr; gap: 20px;\">\n <!-- Left Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserPrompt\"\n Type=\"textarea\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"UserID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n LinkType=\"Record\"\n LinkComponentType=\"Search\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ActiveAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"DisabledAt\"\n Type=\"datepicker\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n\n <!-- Right Column -->\n <div>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"IsActive\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_UpdatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Category\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"User\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\">\n </mj-form-field>\n </div>\n </div>\n </div>\n </mj-accordion-panel>\n\n <!-- Template Parameters Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Parameters\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-template-params-grid\n [template]=\"record\"\n [editMode]=\"EditMode\">\n </mj-template-params-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- AI Prompts Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-robot\"></i>\n AI Prompts\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: AI Prompts','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: AI Prompts')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Entity Documents Section -->\n @if (record.IsSaved) {\n <mj-accordion-panel\n [Expanded]=\"false\"\n style=\"margin-bottom: 12px;\">\n <ng-template mjAccordionTitle>\n <span class=\"panel-title\">\n <i class=\"fa-solid fa-file-text\"></i>\n Entity Documents\n </span>\n </ng-template>\n\n <div style=\"padding: 16px 0;\">\n <mj-explorer-entity-data-grid\n [Params]=\"BuildRelationshipViewParamsByEntityName('MJ: Entity Documents','TemplateID')\"\n [NewRecordValues]=\"NewRecordValues('MJ: Entity Documents')\"\n [AllowLoad]=\"true\"\n [ShowToolbar]=\"false\">\n </mj-explorer-entity-data-grid>\n </div>\n </mj-accordion-panel>\n }\n </div>\n </div>\n </form>\n</mj-record-form-container>\n\n<!-- Template Parameter Dialog -->\n<mj-template-param-dialog\n [template]=\"record\"\n [(isVisible)]=\"showParamDialog\"\n (onClose)=\"onParamDialogClose()\">\n</mj-template-param-dialog>\n}\n", styles: [".k-pane {\n background-color: var(--mj-bg-surface);\n}\n\n.content-margin {\n margin: 10px;\n}\n\n\na {\n font-size: 14px;\n font-weight: bolder;\n}\n\n.tab-header-icon {\n margin-right: 5px;\n}\n\n.record-form {\n display: block;\n flex-direction: column;\n background-color: var(--mj-bg-surface);\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: var(--mj-bg-surface);\n}\n\nbutton {\n margin-right: 5px;\n}\n\n.record-form h2 {\n margin-bottom: 10px;\n}\n\n.k-splitter {\n border-width: 0px;\n}\n\n.record-form-row {\n display: grid;\n grid-template-columns: auto 1fr;\n align-items: start;\n gap: 10px;\n margin-bottom: 12px;\n padding-top: 5px;\n padding-bottom: 5px;\n}\n\n.record-form .record-form-row > :first-child {\n font-weight: bold;\n padding-right: 10px;\n}\n\n.record-form .record-form-row > span {\n white-space: pre-line;\n max-height: 300px;\n overflow: auto;\n}\n\n@media (min-width: 768px) {\n .record-form-row {\n flex-direction: row;\n align-items: center;\n }\n\n .record-form-row label {\n width: 240px;\n margin-bottom: 0;\n }\n}\n\n/* Collapsible Panel Styles */\n.form-panels-container {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: var(--mj-bg-surface);\n}\n\n/* All field sections take full width */\n.form-panels-container > .form-card {\n width: 100%;\n}\n\n/* Related entity grid container - responsive layout */\n.form-panels-container .related-entity-grid {\n display: grid;\n grid-template-columns: 1fr;\n gap: 16px;\n width: 100%;\n}\n\n/* Responsive multi-column layout for related entities on wider screens */\n@media (min-width: 1400px) {\n .form-panels-container .related-entity-grid {\n grid-template-columns: repeat(auto-fit, minmax(600px, 1fr));\n }\n}\n\n.form-card {\n background: var(--mj-bg-surface-card);\n border-radius: 8px;\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n overflow: hidden;\n}\n\n.collapsible-card {\n overflow: hidden;\n}\n\n.collapsible-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 20px 24px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: var(--mj-bg-surface-sunken);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.collapsible-title {\n display: flex;\n align-items: center;\n gap: 12px;\n flex: 1;\n}\n\n.collapsible-title i {\n font-size: 20px;\n color: var(--mj-brand-primary);\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.collapsible-header .collapse-icon {\n color: var(--mj-text-muted);\n transition: transform 0.3s ease;\n}\n\n.collapsible-body {\n max-height: 2000px;\n overflow: hidden;\n transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;\n opacity: 1;\n}\n\n.collapsible-body.collapsed {\n max-height: 0;\n padding: 0;\n opacity: 0;\n}\n\n.form-body {\n padding: 24px;\n}\n\n/* Related Entity Sections - Visual Distinction */\n.form-card.related-entity {\n background: var(--mj-bg-surface-card);\n border-left: 3px solid var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-header {\n background: var(--mj-bg-surface-sunken);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: var(--mj-bg-surface-card);\n border-bottom-color: var(--mj-brand-primary);\n}\n\n.form-card.related-entity .collapsible-title i {\n color: var(--mj-brand-primary);\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px var(--mj-shadow-sm);\n}\n\n.form-section-controls .control-group {\n display: flex;\n gap: 8px;\n align-items: center;\n}\n\n.form-section-controls button {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n background: var(--mj-bg-surface-card);\n color: var(--mj-text-secondary);\n border-radius: 6px;\n cursor: pointer;\n transition: all 0.2s;\n margin-right: 0;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-weight: 500;\n}\n\n.form-section-controls button:hover {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border-color: var(--mj-brand-primary);\n transform: translateY(-1px);\n box-shadow: 0 2px 4px var(--mj-shadow-md);\n}\n\n.form-section-controls button:active {\n transform: translateY(0);\n}\n\n.form-section-controls button i {\n margin-right: 0;\n font-size: 14px;\n}\n\n.form-section-controls .section-search {\n padding: 8px 14px;\n font-size: 13px;\n border: 1px solid var(--mj-border-strong);\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: var(--mj-bg-surface);\n color: var(--mj-text-primary);\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: var(--mj-brand-primary);\n box-shadow: 0 0 0 3px color-mix(in srgb, var(--mj-brand-primary) 10%, transparent);\n}\n\n.form-section-controls .section-search::placeholder {\n color: var(--mj-text-muted);\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: var(--mj-text-muted);\n margin-left: auto;\n font-weight: 500;\n}\n\n/* Hidden sections for search filter */\n.form-card.search-hidden {\n display: none;\n}\n\n/* Section count badge */\n.section-count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n/* Search highlighting in section names */\n.collapsible-title h3 .search-highlight {\n background-color: var(--mj-status-warning);\n color: var(--mj-text-primary);\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n/* Row count badge in section headers */\n.collapsible-title .row-count-badge {\n background: var(--mj-status-success);\n color: var(--mj-text-inverse);\n padding: 3px 6px 2px 6px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n margin-left: 8px;\n vertical-align: middle;\n position: relative;\n top: -2px;\n display: inline-block;\n line-height: 1;\n}\n\n/* Gray badge for zero rows (loaded but empty) */\n.collapsible-title .row-count-badge.zero-rows {\n background: var(--mj-text-muted);\n}\n", "/* Override shared form-styles to enable flex layout */\n:host {\n display: block;\n height: 100%;\n}\n\n.record-form-container {\n font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\n background: var(--mj-bg-surface);\n}\n\n/* Override the shared record-form min-height so flex layout works properly */\n.record-form {\n min-height: 0 !important;\n}\n\n.template-header {\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n/* Header section */\n.template-header-area {\n flex-shrink: 0;\n padding: 20px;\n background: var(--mj-bg-surface-card);\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n.template-header-area .template-icon {\n color: var(--mj-brand-primary);\n font-size: 1.4em;\n}\n\n.template-header-area h4 {\n margin: 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n flex: 1;\n}\n\n.template-header-area .active-badge {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n border: 1px solid color-mix(in srgb, var(--mj-status-success) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area .inactive-badge {\n background: color-mix(in srgb, var(--mj-text-muted) 15%, var(--mj-bg-surface));\n color: var(--mj-text-muted);\n border: 1px solid color-mix(in srgb, var(--mj-text-muted) 30%, transparent);\n padding: 4px 12px;\n border-radius: 16px;\n font-size: 0.8em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n}\n\n.template-header-area .field-label {\n display: block;\n margin-bottom: 4px;\n font-weight: 600;\n color: var(--mj-text-secondary);\n font-size: 0.9em;\n}\n\n.template-header-area .description-text {\n margin: 0 0 12px 0;\n color: var(--mj-text-muted);\n font-size: 0.9em;\n line-height: 1.4;\n}\n\n.template-header-area .meta-icon {\n color: var(--mj-text-muted);\n}\n\n.template-header-area .meta-label {\n color: var(--mj-text-muted);\n}\n\n.template-header-area .meta-value {\n color: var(--mj-text-secondary);\n font-weight: 500;\n}\n\n/* Run template button */\n.run-template-btn {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n border: none;\n padding: 10px 20px;\n border-radius: 8px;\n font-size: 0.95em;\n font-weight: 600;\n display: inline-flex;\n align-items: center;\n gap: 8px;\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.run-template-btn:hover {\n background: var(--mj-brand-primary-hover);\n}\n\n/* Configuration sections */\n.configuration-sections {\n flex: 1;\n background: var(--mj-bg-surface);\n border-top: 2px solid var(--mj-border-default);\n padding: 16px;\n min-height: 0;\n}\n\n/* Expansion panel titles */\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.panel-title i {\n color: var(--mj-text-muted);\n}\n\n.panel-title .count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n}\n\n.badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n/* Accordion Panel Styling */\n::ng-deep .configuration-sections mj-accordion-panel {\n margin-bottom: 12px;\n}\n\n::ng-deep .configuration-sections .mj-accordion-panel {\n border: 1px solid var(--mj-border-default);\n border-radius: 12px;\n overflow: hidden;\n background: var(--mj-bg-surface-card);\n}\n\n::ng-deep .configuration-sections .mj-accordion-header {\n padding: 16px 20px;\n font-weight: 600;\n font-size: 16px;\n}\n\n::ng-deep .configuration-sections .mj-accordion-panel--expanded .mj-accordion-header {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n}\n\n::ng-deep .configuration-sections .mj-accordion-body {\n padding: 0;\n}\n\n/* Smooth transitions */\n.template-header,\n.badge {\n transition: all 0.2s ease;\n}\n"] }]
|
|
1025
1020
|
}], null, { CodeEditor: [{
|
|
1026
1021
|
type: ViewChild,
|
|
1027
1022
|
args: ['codeEditor']
|
|
1023
|
+
}], TemplateEditor: [{
|
|
1024
|
+
type: ViewChild,
|
|
1025
|
+
args: ['templateEditor']
|
|
1028
1026
|
}] }); })();
|
|
1029
1027
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJTemplateFormComponentExtended, { className: "MJTemplateFormComponentExtended", filePath: "src/lib/custom/Templates/templates-form.component.ts", lineNumber: 24 }); })();
|
|
1030
1028
|
//# sourceMappingURL=templates-form.component.js.map
|