@memberjunction/ng-core-entity-forms 5.42.0 → 5.44.0
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/__tests__/model-prediction.logic.test.d.ts +2 -0
- package/dist/__tests__/model-prediction.logic.test.d.ts.map +1 -0
- package/dist/__tests__/model-prediction.logic.test.js +140 -0
- package/dist/__tests__/model-prediction.logic.test.js.map +1 -0
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js +79 -105
- package/dist/lib/custom/AIAgentSessions/ai-agent-session-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js +7 -10
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js +46 -51
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +2 -0
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +300 -378
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +22 -29
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +15 -17
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +27 -34
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +11 -0
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +48 -47
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +438 -454
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +48 -51
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +253 -282
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +24 -33
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +263 -311
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +6 -0
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +475 -493
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +122 -173
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +190 -248
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +19 -23
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts +16 -0
- package/dist/lib/custom/RecordProcesses/record-process-form.component.d.ts.map +1 -0
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js +54 -0
- package/dist/lib/custom/RecordProcesses/record-process-form.component.js.map +1 -0
- package/dist/lib/custom/SearchScopes/searchscopeprovider-form.component.js +23 -24
- package/dist/lib/custom/SearchScopes/searchscopeprovider-form.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.js +25 -46
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +100 -130
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +187 -205
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +8 -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 +412 -489
- package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +100 -126
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +166 -184
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +42 -61
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +8 -17
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +0 -2
- 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 +183 -188
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts +108 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js +665 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts +94 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js +257 -0
- package/dist/lib/custom/ai-agent-run/flow/agent-run-flow.model.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts +38 -0
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js +200 -0
- package/dist/lib/custom/ai-agent-run/flow/constellation.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts +44 -0
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js +180 -0
- package/dist/lib/custom/ai-agent-run/flow/flame-cascade.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts +12 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js +46 -0
- package/dist/lib/custom/ai-agent-run/flow/flow-svg.util.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts +64 -0
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js +267 -0
- package/dist/lib/custom/ai-agent-run/flow/flowchart.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts +53 -0
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js +111 -0
- package/dist/lib/custom/ai-agent-run/flow/pan-zoom.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts +42 -0
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js +193 -0
- package/dist/lib/custom/ai-agent-run/flow/subway-lines.component.js.map +1 -0
- package/dist/lib/custom/custom-forms.module.d.ts +58 -49
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +64 -16
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +2 -0
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +25 -25
- package/dist/lib/custom/shared/entity-selector-dialog.component.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 +280 -216
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js +25 -21
- package/dist/lib/generated/Entities/MJAIAgentChannel/mjaiagentchannel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +68 -14
- 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 +44 -32
- package/dist/lib/generated/Entities/MJAIAgentSession/mjaiagentsession.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentSkill/mjaiagentskill.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentSkill/mjaiagentskill.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentSkill/mjaiagentskill.form.component.js +66 -0
- package/dist/lib/generated/Entities/MJAIAgentSkill/mjaiagentskill.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.form.component.js +55 -19
- package/dist/lib/generated/Entities/MJAIPrompt/mjaiprompt.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 +28 -10
- package/dist/lib/generated/Entities/MJAIPromptRun/mjaipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js +167 -0
- package/dist/lib/generated/Entities/MJAISkill/mjaiskill.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillAction/mjaiskillaction.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAISkillAction/mjaiskillaction.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillAction/mjaiskillaction.form.component.js +64 -0
- package/dist/lib/generated/Entities/MJAISkillAction/mjaiskillaction.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillPermission/mjaiskillpermission.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAISkillPermission/mjaiskillpermission.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillPermission/mjaiskillpermission.form.component.js +82 -0
- package/dist/lib/generated/Entities/MJAISkillPermission/mjaiskillpermission.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillSubAgent/mjaiskillsubagent.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAISkillSubAgent/mjaiskillsubagent.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAISkillSubAgent/mjaiskillsubagent.form.component.js +64 -0
- package/dist/lib/generated/Entities/MJAISkillSubAgent/mjaiskillsubagent.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +35 -17
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js +59 -51
- package/dist/lib/generated/Entities/MJApplication/mjapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js +25 -7
- package/dist/lib/generated/Entities/MJCollection/mjcollection.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJCollectionArtifact/mjcollectionartifact.form.component.js +11 -7
- package/dist/lib/generated/Entities/MJCollectionArtifact/mjcollectionartifact.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 +56 -46
- package/dist/lib/generated/Entities/MJConversation/mjconversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js +73 -59
- package/dist/lib/generated/Entities/MJConversationDetail/mjconversationdetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js +24 -4
- package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.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 +137 -87
- package/dist/lib/generated/Entities/MJEntity/mjentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityActionInvocation/mjentityactioninvocation.form.component.js +10 -8
- package/dist/lib/generated/Entities/MJEntityActionInvocation/mjentityactioninvocation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +47 -29
- package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js +99 -0
- package/dist/lib/generated/Entities/MJExperiment/mjexperiment.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js +101 -0
- package/dist/lib/generated/Entities/MJExperimentSession/mjexperimentsession.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js +115 -0
- package/dist/lib/generated/Entities/MJExperimentSessionIteration/mjexperimentsessioniteration.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js +63 -9
- package/dist/lib/generated/Entities/MJFile/mjfile.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js +32 -14
- package/dist/lib/generated/Entities/MJFileStorageProvider/mjfilestorageprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js +161 -0
- package/dist/lib/generated/Entities/MJMLAlgorithm/mjmlalgorithm.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js +89 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCase/mjmlalgorithmusecase.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCaseRanking/mjmlalgorithmusecaseranking.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCaseRanking/mjmlalgorithmusecaseranking.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCaseRanking/mjmlalgorithmusecaseranking.form.component.js +76 -0
- package/dist/lib/generated/Entities/MJMLAlgorithmUseCaseRanking/mjmlalgorithmusecaseranking.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js +141 -0
- package/dist/lib/generated/Entities/MJMLModel/mjmlmodel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLModelScoringBinding/mjmlmodelscoringbinding.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLModelScoringBinding/mjmlmodelscoringbinding.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLModelScoringBinding/mjmlmodelscoringbinding.form.component.js +88 -0
- package/dist/lib/generated/Entities/MJMLModelScoringBinding/mjmlmodelscoringbinding.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js +143 -0
- package/dist/lib/generated/Entities/MJMLTrainingPipeline/mjmltrainingpipeline.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJMLTrainingRun/mjmltrainingrun.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJMLTrainingRun/mjmltrainingrun.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJMLTrainingRun/mjmltrainingrun.form.component.js +110 -0
- package/dist/lib/generated/Entities/MJMLTrainingRun/mjmltrainingrun.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +56 -24
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js +19 -17
- package/dist/lib/generated/Entities/MJProcessRun/mjprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js +46 -26
- package/dist/lib/generated/Entities/MJRecordProcess/mjrecordprocess.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRemoteOperation/mjremoteoperation.form.component.js +12 -6
- package/dist/lib/generated/Entities/MJRemoteOperation/mjremoteoperation.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 +36 -18
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJSchemaInfo/mjschemainfo.form.component.js +8 -6
- package/dist/lib/generated/Entities/MJSchemaInfo/mjschemainfo.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJScopedPromptPart/mjscopedpromptpart.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJScopedPromptPart/mjscopedpromptpart.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJScopedPromptPart/mjscopedpromptpart.form.component.js +78 -0
- package/dist/lib/generated/Entities/MJScopedPromptPart/mjscopedpromptpart.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js +145 -109
- package/dist/lib/generated/Entities/MJUser/mjuser.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +356 -335
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +304 -226
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/panels/ai-agents/agent-realtime.panel.js +44 -44
- 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.d.ts +43 -0
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.d.ts.map +1 -0
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js +240 -0
- package/dist/lib/panels/ai-skill-sharing/ai-skill-sharing-panel.component.js.map +1 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts +69 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.d.ts.map +1 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.js +130 -0
- package/dist/lib/panels/model-predictions/model-prediction.logic.js.map +1 -0
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts +83 -0
- package/dist/lib/panels/model-predictions/model-prediction.panel.d.ts.map +1 -0
- package/dist/lib/panels/model-predictions/model-prediction.panel.js +293 -0
- package/dist/lib/panels/model-predictions/model-prediction.panel.js.map +1 -0
- package/package.json +38 -36
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts +0 -82
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts.map +0 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +0 -1033
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Component } from '@angular/core';
|
|
8
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
9
|
+
import { BaseFormComponent } from '@memberjunction/ng-base-forms';
|
|
10
|
+
import { MJRecordProcessFormComponent } from '../../generated/Entities/MJRecordProcess/mjrecordprocess.form.component';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@memberjunction/ng-base-forms";
|
|
13
|
+
import * as i2 from "@memberjunction/ng-record-process-studio";
|
|
14
|
+
function RecordProcessFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
const _r1 = i0.ɵɵgetCurrentView();
|
|
16
|
+
i0.ɵɵelementStart(0, "mj-record-form-container", 1);
|
|
17
|
+
i0.ɵɵlistener("Navigate", function RecordProcessFormComponentExtended_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 RecordProcessFormComponentExtended_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 RecordProcessFormComponentExtended_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 RecordProcessFormComponentExtended_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 RecordProcessFormComponentExtended_Conditional_0_Template_mj_record_form_container_ListManagementRequested_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.OnListManagementRequested()); });
|
|
18
|
+
i0.ɵɵelement(1, "mj-record-process-editor", 2);
|
|
19
|
+
i0.ɵɵelementEnd();
|
|
20
|
+
} if (rf & 2) {
|
|
21
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
22
|
+
i0.ɵɵproperty("Record", ctx_r1.record)("FormComponent", ctx_r1);
|
|
23
|
+
i0.ɵɵadvance();
|
|
24
|
+
i0.ɵɵproperty("Record", ctx_r1.record)("ShowToolbar", false)("Provider", ctx_r1.ProviderToUse);
|
|
25
|
+
} }
|
|
26
|
+
/**
|
|
27
|
+
* Custom form override for `MJ: Record Processes`. Replaces the generated field layout (which exposes the
|
|
28
|
+
* rules as a raw `Configuration` JSON textarea) with the visual `<mj-record-process-editor>` — the same
|
|
29
|
+
* authoring surface used in the Bulk Operations app — so editing a process record anywhere in Explorer
|
|
30
|
+
* gets the business-friendly rules builder + inline dry-run preview. The form's container owns Save; the
|
|
31
|
+
* editor mutates the record in place (ShowToolbar=false).
|
|
32
|
+
*/
|
|
33
|
+
let RecordProcessFormComponentExtended = class RecordProcessFormComponentExtended extends MJRecordProcessFormComponent {
|
|
34
|
+
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵRecordProcessFormComponentExtended_BaseFactory; return function RecordProcessFormComponentExtended_Factory(__ngFactoryType__) { return (ɵRecordProcessFormComponentExtended_BaseFactory || (ɵRecordProcessFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(RecordProcessFormComponentExtended)))(__ngFactoryType__ || RecordProcessFormComponentExtended); }; })(); }
|
|
35
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RecordProcessFormComponentExtended, selectors: [["mj-record-process-form-extended"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [[3, "Record", "FormComponent"], [3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent"], [3, "Record", "ShowToolbar", "Provider"]], template: function RecordProcessFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
36
|
+
i0.ɵɵconditionalCreate(0, RecordProcessFormComponentExtended_Conditional_0_Template, 2, 5, "mj-record-form-container", 0);
|
|
37
|
+
} if (rf & 2) {
|
|
38
|
+
i0.ɵɵconditional(ctx.record ? 0 : -1);
|
|
39
|
+
} }, dependencies: [i1.MjRecordFormContainerComponent, i2.RecordProcessEditorComponent], encapsulation: 2 }); }
|
|
40
|
+
};
|
|
41
|
+
RecordProcessFormComponentExtended = __decorate([
|
|
42
|
+
RegisterClass(BaseFormComponent, 'MJ: Record Processes')
|
|
43
|
+
], RecordProcessFormComponentExtended);
|
|
44
|
+
export { RecordProcessFormComponentExtended };
|
|
45
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RecordProcessFormComponentExtended, [{
|
|
46
|
+
type: Component,
|
|
47
|
+
args: [{ standalone: false, selector: 'mj-record-process-form-extended', template: "@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <mj-record-process-editor [Record]=\"record\" [ShowToolbar]=\"false\" [Provider]=\"ProviderToUse\"></mj-record-process-editor>\n\n</mj-record-form-container>\n}\n" }]
|
|
48
|
+
}], null, null); })();
|
|
49
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RecordProcessFormComponentExtended, { className: "RecordProcessFormComponentExtended", filePath: "src/lib/custom/RecordProcesses/record-process-form.component.ts", lineNumber: 19 }); })();
|
|
50
|
+
/** Tree-shaking guard so the override registers with the ClassFactory. */
|
|
51
|
+
export function LoadRecordProcessFormComponentExtended() {
|
|
52
|
+
// intentionally empty
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=record-process-form.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-process-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/RecordProcesses/record-process-form.component.ts","../../../../src/lib/custom/RecordProcesses/record-process-form.component.html"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,4BAA4B,EAAE,MAAM,yEAAyE,CAAC;;;;;;ICFvH,mDAK4D;IAAxD,AADA,AADA,AADA,AADA,oOAAY,6BAAsB,KAAC,+NAChB,0BAAmB,KAAC,+NACpB,0BAAmB,KAAC,iOACnB,2BAAoB,KAAC,+OACd,kCAA2B,KAAC;IAEvD,8CAAwH;IAE5H,iBAA2B;;;IATiB,AAAlB,sCAAiB,yBAAuB;IAOpC,cAAiB;IAAuB,AAAtB,AAAlB,sCAAiB,sBAAsB,kCAA2B;;ADHhG;;;;;;GAMG;AAOI,IAAM,kCAAkC,GAAxC,MAAM,kCAAmC,SAAQ,4BAA4B;4TAAvE,kCAAkC,yBAAlC,kCAAkC;oEAAlC,kCAAkC;YClB/C,yHAAc;;YAAd,qCAWC;;;ADOY,kCAAkC;IAN9C,aAAa,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;GAM5C,kCAAkC,CAAwC;;iFAA1E,kCAAkC;cAL9C,SAAS;6BACM,KAAK,YACP,iCAAiC;;kFAGlC,kCAAkC;AAE/C,0EAA0E;AAC1E,MAAM,UAAU,sCAAsC;IAClD,sBAAsB;AAC1B,CAAC","sourcesContent":["import { Component } from '@angular/core';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent } from '@memberjunction/ng-base-forms';\nimport { MJRecordProcessFormComponent } from '../../generated/Entities/MJRecordProcess/mjrecordprocess.form.component';\n\n/**\n * Custom form override for `MJ: Record Processes`. Replaces the generated field layout (which exposes the\n * rules as a raw `Configuration` JSON textarea) with the visual `<mj-record-process-editor>` — the same\n * authoring surface used in the Bulk Operations app — so editing a process record anywhere in Explorer\n * gets the business-friendly rules builder + inline dry-run preview. The form's container owns Save; the\n * editor mutates the record in place (ShowToolbar=false).\n */\n@RegisterClass(BaseFormComponent, 'MJ: Record Processes')\n@Component({\n standalone: false,\n selector: 'mj-record-process-form-extended',\n templateUrl: './record-process-form.component.html',\n})\nexport class RecordProcessFormComponentExtended extends MJRecordProcessFormComponent {}\n\n/** Tree-shaking guard so the override registers with the ClassFactory. */\nexport function LoadRecordProcessFormComponentExtended(): void {\n // intentionally empty\n}\n","@if (record) {\n<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <mj-record-process-editor [Record]=\"record\" [ShowToolbar]=\"false\" [Provider]=\"ProviderToUse\"></mj-record-process-editor>\n\n</mj-record-form-container>\n}\n"]}
|
|
@@ -27,17 +27,17 @@ import { BaseFormComponent } from '@memberjunction/ng-base-forms';
|
|
|
27
27
|
import { MJSearchScopeProviderFormComponent } from '../../generated/Entities/MJSearchScopeProvider/mjsearchscopeprovider.form.component';
|
|
28
28
|
import * as i0 from "@angular/core";
|
|
29
29
|
import * as i1 from "@angular/forms";
|
|
30
|
-
import * as i2 from "@memberjunction/ng-
|
|
30
|
+
import * as i2 from "@memberjunction/ng-ui-components";
|
|
31
|
+
import * as i3 from "@memberjunction/ng-base-forms";
|
|
31
32
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
32
33
|
function MJSearchScopeProviderFormComponentExtended_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
i0.ɵɵelementStart(0, "
|
|
34
|
-
i0.ɵɵ
|
|
35
|
-
i0.ɵɵtext(2);
|
|
34
|
+
i0.ɵɵelementStart(0, "mj-alert", 5);
|
|
35
|
+
i0.ɵɵtext(1);
|
|
36
36
|
i0.ɵɵelementEnd();
|
|
37
37
|
} if (rf & 2) {
|
|
38
38
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
39
|
-
i0.ɵɵadvance(
|
|
40
|
-
i0.ɵɵtextInterpolate1("
|
|
39
|
+
i0.ɵɵadvance();
|
|
40
|
+
i0.ɵɵtextInterpolate1("Could not load provider catalog \u2014 ", ctx_r0.LoadError);
|
|
41
41
|
} }
|
|
42
42
|
function MJSearchScopeProviderFormComponentExtended_For_11_Template(rf, ctx) { if (rf & 1) {
|
|
43
43
|
i0.ɵɵelementStart(0, "option", 8);
|
|
@@ -50,25 +50,24 @@ function MJSearchScopeProviderFormComponentExtended_For_11_Template(rf, ctx) { i
|
|
|
50
50
|
i0.ɵɵtextInterpolate4(" ", option_r2.Name, " \u2014 ", option_r2.DriverClass, "", option_r2.IsRegisteredOnServer ? "" : " (not registered on this server)", "", option_r2.Status !== "Active" ? " [" + option_r2.Status + "]" : "", " ");
|
|
51
51
|
} }
|
|
52
52
|
function MJSearchScopeProviderFormComponentExtended_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
53
|
-
i0.ɵɵelementStart(0, "
|
|
54
|
-
i0.ɵɵ
|
|
55
|
-
i0.ɵɵ
|
|
56
|
-
i0.ɵɵ
|
|
57
|
-
i0.ɵɵtext(4, "DriverClass");
|
|
53
|
+
i0.ɵɵelementStart(0, "mj-alert", 9);
|
|
54
|
+
i0.ɵɵtext(1, " The selected provider's ");
|
|
55
|
+
i0.ɵɵelementStart(2, "code");
|
|
56
|
+
i0.ɵɵtext(3, "DriverClass");
|
|
58
57
|
i0.ɵɵelementEnd();
|
|
59
|
-
i0.ɵɵtext(
|
|
60
|
-
i0.ɵɵelementStart(
|
|
61
|
-
i0.ɵɵtext(
|
|
58
|
+
i0.ɵɵtext(4, " is not registered with this MJServer build. Searches using this ");
|
|
59
|
+
i0.ɵɵelementStart(5, "code");
|
|
60
|
+
i0.ɵɵtext(6, "SearchScopeProvider");
|
|
62
61
|
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵtext(
|
|
64
|
-
i0.ɵɵelementStart(
|
|
65
|
-
i0.ɵɵtext(
|
|
62
|
+
i0.ɵɵtext(7, " will return no results until the package that registers ");
|
|
63
|
+
i0.ɵɵelementStart(8, "code");
|
|
64
|
+
i0.ɵɵtext(9);
|
|
66
65
|
i0.ɵɵelementEnd();
|
|
67
|
-
i0.ɵɵtext(
|
|
66
|
+
i0.ɵɵtext(10, " is installed. ");
|
|
68
67
|
i0.ɵɵelementEnd();
|
|
69
68
|
} if (rf & 2) {
|
|
70
69
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
71
|
-
i0.ɵɵadvance(
|
|
70
|
+
i0.ɵɵadvance(9);
|
|
72
71
|
i0.ɵɵtextInterpolate(ctx_r0.SelectedProvider == null ? null : ctx_r0.SelectedProvider.DriverClass);
|
|
73
72
|
} }
|
|
74
73
|
let MJSearchScopeProviderFormComponentExtended = class MJSearchScopeProviderFormComponentExtended extends MJSearchScopeProviderFormComponent {
|
|
@@ -166,7 +165,7 @@ let MJSearchScopeProviderFormComponentExtended = class MJSearchScopeProviderForm
|
|
|
166
165
|
}
|
|
167
166
|
}
|
|
168
167
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJSearchScopeProviderFormComponentExtended_BaseFactory; return function MJSearchScopeProviderFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJSearchScopeProviderFormComponentExtended_BaseFactory || (ɵMJSearchScopeProviderFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJSearchScopeProviderFormComponentExtended)))(__ngFactoryType__ || MJSearchScopeProviderFormComponentExtended); }; })(); }
|
|
169
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJSearchScopeProviderFormComponentExtended, selectors: [["mj-searchscopeprovider-form-extended"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 42, consts: [[3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent"], ["SectionKey", "searchConfiguration", "SectionName", "Search Configuration", "Icon", "fa fa-search", 3, "Form", "FormContext"], ["FieldName", "SearchScopeID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], [1, "provider-picker"], [1, "provider-picker-label"], [
|
|
168
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJSearchScopeProviderFormComponentExtended, selectors: [["mj-searchscopeprovider-form-extended"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 33, vars: 42, consts: [[3, "Navigate", "DeleteRequested", "FavoriteToggled", "HistoryRequested", "ListManagementRequested", "Record", "FormComponent"], ["SectionKey", "searchConfiguration", "SectionName", "Search Configuration", "Icon", "fa fa-search", 3, "Form", "FormContext"], ["FieldName", "SearchScopeID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], [1, "provider-picker"], [1, "provider-picker-label"], ["Variant", "error"], [1, "mj-input", "provider-picker-select", 3, "ngModelChange", "disabled", "ngModel"], ["value", ""], [3, "value"], ["Variant", "warning"], [1, "provider-picker-help"], ["SectionKey", "operationalSettings", "SectionName", "Operational Settings", "Icon", "fa fa-sliders-h", 3, "Form", "FormContext"], ["FieldName", "Enabled", "Type", "checkbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "MaxResultsOverride", "Type", "number", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "ProviderConfigOverride", "Type", "code", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "queryProcessing", "SectionName", "Query Processing", "Icon", "fa fa-magic", 3, "Form", "FormContext"], ["FieldName", "QueryTransformTemplateID", "Type", "textbox", "LinkType", "Record", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["SectionKey", "systemMetadata", "SectionName", "System Metadata", "Icon", "fa fa-cog", 3, "Form", "FormContext"], ["FieldName", "__mj_CreatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"], ["FieldName", "__mj_UpdatedAt", "Type", "textbox", 3, "Record", "ShowLabel", "EditMode", "FormContext"]], template: function MJSearchScopeProviderFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
170
169
|
i0.ɵɵelementStart(0, "mj-record-form-container", 0);
|
|
171
170
|
i0.ɵɵlistener("Navigate", function MJSearchScopeProviderFormComponentExtended_Template_mj_record_form_container_Navigate_0_listener($event) { return ctx.OnFormNavigate($event); })("DeleteRequested", function MJSearchScopeProviderFormComponentExtended_Template_mj_record_form_container_DeleteRequested_0_listener() { return ctx.OnDeleteRequested(); })("FavoriteToggled", function MJSearchScopeProviderFormComponentExtended_Template_mj_record_form_container_FavoriteToggled_0_listener() { return ctx.OnFavoriteToggled(); })("HistoryRequested", function MJSearchScopeProviderFormComponentExtended_Template_mj_record_form_container_HistoryRequested_0_listener() { return ctx.OnHistoryRequested(); })("ListManagementRequested", function MJSearchScopeProviderFormComponentExtended_Template_mj_record_form_container_ListManagementRequested_0_listener() { return ctx.OnListManagementRequested(); });
|
|
172
171
|
i0.ɵɵelementStart(1, "mj-collapsible-panel", 1);
|
|
@@ -174,7 +173,7 @@ let MJSearchScopeProviderFormComponentExtended = class MJSearchScopeProviderForm
|
|
|
174
173
|
i0.ɵɵelementStart(3, "div", 3)(4, "label", 4);
|
|
175
174
|
i0.ɵɵtext(5, "Search Provider");
|
|
176
175
|
i0.ɵɵelementEnd();
|
|
177
|
-
i0.ɵɵconditionalCreate(6, MJSearchScopeProviderFormComponentExtended_Conditional_6_Template,
|
|
176
|
+
i0.ɵɵconditionalCreate(6, MJSearchScopeProviderFormComponentExtended_Conditional_6_Template, 2, 1, "mj-alert", 5);
|
|
178
177
|
i0.ɵɵelementStart(7, "select", 6);
|
|
179
178
|
i0.ɵɵlistener("ngModelChange", function MJSearchScopeProviderFormComponentExtended_Template_select_ngModelChange_7_listener($event) { return ctx.SelectedSearchProviderID = $event; });
|
|
180
179
|
i0.ɵɵelementStart(8, "option", 7);
|
|
@@ -182,7 +181,7 @@ let MJSearchScopeProviderFormComponentExtended = class MJSearchScopeProviderForm
|
|
|
182
181
|
i0.ɵɵelementEnd();
|
|
183
182
|
i0.ɵɵrepeaterCreate(10, MJSearchScopeProviderFormComponentExtended_For_11_Template, 2, 5, "option", 8, _forTrack0);
|
|
184
183
|
i0.ɵɵelementEnd();
|
|
185
|
-
i0.ɵɵconditionalCreate(12, MJSearchScopeProviderFormComponentExtended_Conditional_12_Template,
|
|
184
|
+
i0.ɵɵconditionalCreate(12, MJSearchScopeProviderFormComponentExtended_Conditional_12_Template, 11, 1, "mj-alert", 9);
|
|
186
185
|
i0.ɵɵelementStart(13, "p", 10);
|
|
187
186
|
i0.ɵɵtext(14, " Picks from rows in ");
|
|
188
187
|
i0.ɵɵelementStart(15, "code");
|
|
@@ -239,7 +238,7 @@ let MJSearchScopeProviderFormComponentExtended = class MJSearchScopeProviderForm
|
|
|
239
238
|
i0.ɵɵproperty("Record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("FormContext", ctx.formContext);
|
|
240
239
|
i0.ɵɵadvance();
|
|
241
240
|
i0.ɵɵproperty("Record", ctx.record)("ShowLabel", true)("EditMode", ctx.EditMode)("FormContext", ctx.formContext);
|
|
242
|
-
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.MjFormFieldComponent,
|
|
241
|
+
} }, dependencies: [i1.NgSelectOption, i1.ɵNgSelectMultipleOption, i1.SelectControlValueAccessor, i1.NgControlStatus, i1.NgModel, i2.MJAlertComponent, i3.MjFormFieldComponent, i3.MjCollapsiblePanelComponent, i3.MjRecordFormContainerComponent], styles: [".provider-picker[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-top: 0.5rem;\n}\n\n.provider-picker-label[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.provider-picker-select[_ngcontent-%COMP%] {\n width: 100%;\n max-width: 600px;\n}\n\n.provider-picker-help[_ngcontent-%COMP%] code[_ngcontent-%COMP%], \nmj-alert[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 2px;\n font-family: ui-monospace, SFMono-Regular, monospace;\n font-size: 0.85em;\n}\n\n.provider-picker-help[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 0.8125rem;\n color: var(--mj-text-muted);\n}"] }); }
|
|
243
242
|
};
|
|
244
243
|
MJSearchScopeProviderFormComponentExtended = __decorate([
|
|
245
244
|
RegisterClass(BaseFormComponent, 'MJ: Search Scope Providers')
|
|
@@ -247,7 +246,7 @@ MJSearchScopeProviderFormComponentExtended = __decorate([
|
|
|
247
246
|
export { MJSearchScopeProviderFormComponentExtended };
|
|
248
247
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJSearchScopeProviderFormComponentExtended, [{
|
|
249
248
|
type: Component,
|
|
250
|
-
args: [{ standalone: false, selector: 'mj-searchscopeprovider-form-extended', template: "<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <!-- ========================================\n FIELD PANELS\n ======================================== -->\n <!-- Search Configuration Section -->\n <mj-collapsible-panel\n SectionKey=\"searchConfiguration\"\n SectionName=\"Search Configuration\"\n Icon=\"fa fa-search\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SearchScopeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n <!-- P5.5 \u2014 provider picker. Replaces the generated form's plain\n SearchProviderID textbox. Sourced from MJ: Search Providers\n rows; each option is annotated with whether the provider's\n DriverClass is currently registered with the server's\n ClassFactory. -->\n <div class=\"provider-picker\">\n <label class=\"provider-picker-label\">Search Provider</label>\n @if (LoadError) {\n <
|
|
249
|
+
args: [{ standalone: false, selector: 'mj-searchscopeprovider-form-extended', template: "<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <!-- ========================================\n FIELD PANELS\n ======================================== -->\n <!-- Search Configuration Section -->\n <mj-collapsible-panel\n SectionKey=\"searchConfiguration\"\n SectionName=\"Search Configuration\"\n Icon=\"fa fa-search\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SearchScopeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n <!-- P5.5 \u2014 provider picker. Replaces the generated form's plain\n SearchProviderID textbox. Sourced from MJ: Search Providers\n rows; each option is annotated with whether the provider's\n DriverClass is currently registered with the server's\n ClassFactory. -->\n <div class=\"provider-picker\">\n <label class=\"provider-picker-label\">Search Provider</label>\n @if (LoadError) {\n <mj-alert Variant=\"error\">Could not load provider catalog \u2014 {{ LoadError }}</mj-alert>\n }\n <select\n class=\"mj-input provider-picker-select\"\n [disabled]=\"!EditMode || !ProvidersLoaded\"\n [ngModel]=\"SelectedSearchProviderID\"\n (ngModelChange)=\"SelectedSearchProviderID = $event\">\n <option value=\"\">\u2014 Select a provider \u2014</option>\n @for (option of AvailableProviders; track option.ID) {\n <option [value]=\"option.ID\">\n {{ option.Name }} \u2014 {{ option.DriverClass }}{{ option.IsRegisteredOnServer ? '' : ' (not registered on this server)' }}{{ option.Status !== 'Active' ? ' [' + option.Status + ']' : '' }}\n </option>\n }\n </select>\n @if (SelectedProviderUnregisteredOnServer) {\n <mj-alert Variant=\"warning\">\n The selected provider's <code>DriverClass</code> is not registered with this MJServer build.\n Searches using this <code>SearchScopeProvider</code> will return no results until the\n package that registers <code>{{ SelectedProvider?.DriverClass }}</code> is installed.\n </mj-alert>\n }\n <p class=\"provider-picker-help\">\n Picks from rows in <code>MJ: Search Providers</code>. The \"(not registered on this server)\" suffix\n comes from the <code>AvailableSearchProviders</code> query, which calls\n <code>BaseSearchProvider.GetAvailableProviders()</code> server-side to enumerate\n ClassFactory registrations.\n </p>\n </div>\n\n </mj-collapsible-panel>\n\n <!-- Operational Settings Section -->\n <mj-collapsible-panel\n SectionKey=\"operationalSettings\"\n SectionName=\"Operational Settings\"\n Icon=\"fa fa-sliders-h\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Enabled\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"MaxResultsOverride\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProviderConfigOverride\"\n Type=\"code\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- Query Processing Section -->\n <mj-collapsible-panel\n SectionKey=\"queryProcessing\"\n SectionName=\"Query Processing\"\n Icon=\"fa fa-magic\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"false\"\n FieldName=\"QueryTransformTemplateID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- System Metadata Section -->\n <mj-collapsible-panel\n SectionKey=\"systemMetadata\"\n SectionName=\"System Metadata\"\n Icon=\"fa fa-cog\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\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 [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n</mj-record-form-container>\n", styles: [".provider-picker {\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n padding-top: 0.5rem;\n}\n\n.provider-picker-label {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n.provider-picker-select {\n width: 100%;\n max-width: 600px;\n}\n\n.provider-picker-help code,\nmj-alert code {\n background: var(--mj-bg-surface-sunken);\n padding: 0.1rem 0.3rem;\n border-radius: 2px;\n font-family: ui-monospace, SFMono-Regular, monospace;\n font-size: 0.85em;\n}\n\n.provider-picker-help {\n margin: 0;\n font-size: 0.8125rem;\n color: var(--mj-text-muted);\n}\n"] }]
|
|
251
250
|
}], null, null); })();
|
|
252
251
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJSearchScopeProviderFormComponentExtended, { className: "MJSearchScopeProviderFormComponentExtended", filePath: "src/lib/custom/SearchScopes/searchscopeprovider-form.component.ts", lineNumber: 46 }); })();
|
|
253
252
|
//# sourceMappingURL=searchscopeprovider-form.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchscopeprovider-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/SearchScopes/searchscopeprovider-form.component.ts","../../../../src/lib/custom/SearchScopes/searchscopeprovider-form.component.html"],"names":[],"mappings":";;;;;;AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAAE,SAAS,EAAU,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAY,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,OAAO,EAAE,kCAAkC,EAAE,MAAM,qFAAqF,CAAC;;;;;;ICazH,4BAAiC;IAC7B,wBAA8C;IAC9C,YACJ;IAAA,iBAAI;;;IADA,eACJ;IADI,wFACJ;;;IASI,iCAA4B;IACxB,YACJ;IAAA,iBAAS;;;IAFD,oCAAmB;IACvB,cACJ;IADI,wOACJ;;;IAIJ,4BAAmC;IAC/B,wBAAgD;IAChD,yCAAwB;IAAA,4BAAM;IAAA,2BAAW;IAAA,iBAAO;IAAC,iFAC7B;IAAA,4BAAM;IAAA,mCAAmB;IAAA,iBAAO;IAAC,yEAC9B;IAAA,4BAAM;IAAA,aAAmC;IAAA,iBAAO;IAAC,gCAC5E;IAAA,iBAAI;;;IAD6B,gBAAmC;IAAnC,kGAAmC;;ADZ7E,IAAM,0CAA0C,GAAhD,MAAM,0CAA2C,SAAQ,kCAAkC;IAA3F;;QAGI,uBAAkB,GAA2B,EAAE,CAAC;QAChD,oBAAe,GAAG,KAAK,CAAC;QACxB,cAAS,GAAkB,IAAI,CAAC;KA8F1C;IA5FG;;;OAGG;IACH,IAAW,wBAAwB;QAC/B,OAAO,IAAI,CAAC,MAAM,EAAE,gBAAgB,IAAI,EAAE,CAAC;IAC/C,CAAC;IACD,IAAW,wBAAwB,CAAC,KAAa;QAC7C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO;QACzB,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,KAAK;YAAE,OAAO;QACnD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,IAAW,gBAAgB;QACvB,MAAM,EAAE,GAAG,IAAI,CAAC,wBAAwB,CAAC;QACzC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;IAC9F,CAAC;IAED,IAAW,oCAAoC;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClC,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,oBAAoB,CAAC;IACpD,CAAC;IAEQ,KAAK,CAAC,QAAQ;QACnB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,mBAAmB;QAC7B,IAAI,CAAC;YACD,MAAM,EAAE,GAAG,IAAI,OAAO,EAAE,CAAC;YACzB,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACnD,EAAE,CAAC,OAAO,CAAyB;oBAC/B,UAAU,EAAE,sBAAsB;oBAClC,OAAO,EAAE,MAAM;oBACf,UAAU,EAAE,QAAQ;iBACvB,CAAC;gBACF,IAAI,CAAC,4BAA4B,EAAE;aACtC,CAAC,CAAC;YAEH,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACtB,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,YAAY,IAAI,iCAAiC,CAAC;gBAC9E,QAAQ,CAAC,sDAAsD,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACjF,OAAO;YACX,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACxE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACvC,EAAE,EAAE,GAAG,CAAC,EAAE;gBACV,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,oBAAoB,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;aACzE,CAAC,CAAC,CAAC;YACJ,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAChC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC;YACrB,QAAQ,CAAC,0DAA0D,GAAG,EAAE,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,4BAA4B;QACtC,IAAI,CAAC;YACD,MAAM,YAAY,GAAG,IAAI,CAAC,aAAoC,CAAC;YAC/D,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,UAAU,CAC1C,wFAAwF,EACxF,EAAE,CAC4D,CAAC;YACnE,OAAO,CAAC,QAAQ,EAAE,wBAAwB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAC9E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,iEAAiE;YACjE,gEAAgE;YAChE,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,QAAQ,CAAC,8FAA8F,GAAG,EAAE,CAAC,CAAC;YAC9G,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;4VAlGQ,0CAA0C,yBAA1C,0CAA0C;oEAA1C,0CAA0C;YC7CvD,mDAK4D;YAAxD,AADA,AADA,AADA,AADA,qJAAY,0BAAsB,IAAC,gJAChB,uBAAmB,IAAC,gJACpB,uBAAmB,IAAC,kJACnB,wBAAoB,IAAC,gKACd,+BAA2B,IAAC;YAMvD,+CAKgC;YAC5B,mCAQiB;YAQb,AADJ,8BAA6B,eACY;YAAA,+BAAe;YAAA,iBAAQ;YAC5D,0GAAiB;YAMjB,iCAIwD;YAApD,sLAAmD;YACnD,iCAAiB;YAAA,+CAAqB;YAAA,iBAAS;YAC/C,kHAIC;YACL,iBAAS;YACT,6GAA4C;YAQ5C,8BAAgC;YAC5B,qCAAmB;YAAA,6BAAM;YAAA,qCAAoB;YAAA,iBAAO;YAAA,iFACrC;YAAA,6BAAM;YAAA,yCAAwB;YAAA,iBAAO;YAAC,qCACrD;YAAA,6BAAM;YAAA,2DAA0C;YAAA,iBAAO;YAAC,uEAE5D;YAGR,AAFI,AADI,iBAAI,EACF,EAEa;YAGvB,iDAKgC;YAiB5B,AARA,AARA,qCAOiB,yBAQA,yBAQA;YAErB,iBAAuB;YAGvB,iDAKgC;YAC5B,qCAQiB;YAErB,iBAAuB;YAGvB,iDAKgC;YAS5B,AARA,qCAOiB,yBAQA;YAGzB,AADI,iBAAuB,EACA;;YApJiB,AAAlB,mCAAiB,sBAAuB;YAe1D,cAAa;YACb,AADA,0BAAa,gCACc;YAEvB,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;YAW3B,eAKC;YALD,wCAKC;YAGG,cAA0C;YAC1C,AADA,gEAA0C,yCACN;YAGpC,eAIC;YAJD,qCAIC;YAEL,eAOC;YAPD,oEAOC;YAgBL,gBAAa;YACb,AADA,0BAAa,gCACc;YAEvB,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;YAG3B,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;YAG3B,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;YAU/B,cAAa;YACb,AADA,0BAAa,gCACc;YAEvB,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,oBACE,0BAGE,gCACM;YAW/B,cAAa;YACb,AADA,0BAAa,gCACc;YAEvB,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;YAG3B,cAAiB;YAKjB,AADA,AAHA,AADA,mCAAiB,mBACC,0BAGG,gCACM;;;ADnG1B,0CAA0C;IAPtD,aAAa,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;GAOlD,0CAA0C,CAmGtD;;iFAnGY,0CAA0C;cANtD,SAAS;6BACM,KAAK,YACP,sCAAsC;;kFAIvC,0CAA0C","sourcesContent":["/**\n * Custom MJSearchScopeProvider form (P5.5).\n *\n * Plan acceptance criterion: provide a dropdown for `SearchProviderID` so\n * scope authors don't have to look up GUIDs by hand. The dropdown is sourced\n * from the `MJ: Search Providers` table (those rows are the canonical FK\n * targets), and each option is annotated with whether the provider's\n * `DriverClass` is currently registered with the runtime ClassFactory on\n * this MJServer build — so authors can see at a glance whether their pick\n * will actually be available at search time.\n *\n * The runtime registration list comes from the `AvailableSearchProviders`\n * GraphQL query backed by `BaseSearchProvider.GetAvailableProviders()`.\n * That query is the canonical \"which providers does this server know\n * about\" source — same helper Phase 5.5 of the RAG plan calls out.\n */\nimport { Component, OnInit } from '@angular/core';\nimport { LogError, Metadata, RunView } from '@memberjunction/core';\nimport { MJSearchScopeProviderEntity, MJSearchProviderEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent } from '@memberjunction/ng-base-forms';\nimport { GraphQLDataProvider } from '@memberjunction/graphql-dataprovider';\nimport { MJSearchScopeProviderFormComponent } from '../../generated/Entities/MJSearchScopeProvider/mjsearchscopeprovider.form.component';\n\ninterface SearchProviderOption {\n ID: string;\n Name: string;\n DriverClass: string;\n Status: 'Active' | 'Pending' | 'Terminated';\n /**\n * `true` if `DriverClass` matches a class currently registered with the\n * runtime ClassFactory on this MJServer. `false` means the row exists in\n * `MJ: Search Providers` but no installed package registers that class —\n * picking it would result in `IsAvailable()=false` at search time.\n */\n IsRegisteredOnServer: boolean;\n}\n\n@RegisterClass(BaseFormComponent, 'MJ: Search Scope Providers')\n@Component({\n standalone: false,\n selector: 'mj-searchscopeprovider-form-extended',\n templateUrl: './searchscopeprovider-form.component.html',\n styleUrls: ['./searchscopeprovider-form.component.css'],\n})\nexport class MJSearchScopeProviderFormComponentExtended extends MJSearchScopeProviderFormComponent implements OnInit {\n public override record!: MJSearchScopeProviderEntity;\n\n public AvailableProviders: SearchProviderOption[] = [];\n public ProvidersLoaded = false;\n public LoadError: string | null = null;\n\n /**\n * Drives the dropdown's `[ngModel]`. Kept in sync with `record.SearchProviderID`\n * via the setter so dirty tracking and the form's save flow continue to work.\n */\n public get SelectedSearchProviderID(): string {\n return this.record?.SearchProviderID ?? '';\n }\n public set SelectedSearchProviderID(value: string) {\n if (!this.record) return;\n if (this.record.SearchProviderID === value) return;\n this.record.SearchProviderID = value;\n }\n\n public get SelectedProvider(): SearchProviderOption | null {\n const id = this.SelectedSearchProviderID;\n if (!id) return null;\n return this.AvailableProviders.find(p => p.ID.toLowerCase() === id.toLowerCase()) ?? null;\n }\n\n public get SelectedProviderUnregisteredOnServer(): boolean {\n const sel = this.SelectedProvider;\n return sel != null && !sel.IsRegisteredOnServer;\n }\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n await this.loadProviderCatalog();\n }\n\n /**\n * Pulls the `MJ: Search Providers` rows and the server-registered class list\n * in parallel, then merges into one dropdown source. Failures don't block the\n * form — the dropdown just disables itself, leaving the underlying generated\n * textbox accessible via `EditMode`.\n */\n private async loadProviderCatalog(): Promise<void> {\n try {\n const rv = new RunView();\n const [rowsResult, registeredKeys] = await Promise.all([\n rv.RunView<MJSearchProviderEntity>({\n EntityName: 'MJ: Search Providers',\n OrderBy: 'Name',\n ResultType: 'simple',\n }),\n this.fetchRegisteredDriverClasses(),\n ]);\n\n if (!rowsResult.Success) {\n this.LoadError = rowsResult.ErrorMessage ?? 'Unknown error loading providers';\n LogError(`MJSearchScopeProviderFormExtended: RunView failed: ${this.LoadError}`);\n return;\n }\n\n const registeredSet = new Set(registeredKeys.map(k => k.toLowerCase()));\n const rows = rowsResult.Results ?? [];\n this.AvailableProviders = rows.map(row => ({\n ID: row.ID,\n Name: row.Name,\n DriverClass: row.DriverClass,\n Status: row.Status,\n IsRegisteredOnServer: registeredSet.has(row.DriverClass.toLowerCase()),\n }));\n this.ProvidersLoaded = true;\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n this.LoadError = msg;\n LogError(`MJSearchScopeProviderFormExtended: catalog load threw: ${msg}`);\n }\n }\n\n /**\n * Calls the `AvailableSearchProviders` GraphQL query to learn which\n * `DriverClass` keys are actually registered with `MJGlobal.ClassFactory`\n * on the server. Returns `[]` on any failure — the dropdown still renders\n * from the DB rows; we just lose the \"(not registered)\" badge.\n */\n private async fetchRegisteredDriverClasses(): Promise<string[]> {\n try {\n const dataProvider = this.ProviderToUse as GraphQLDataProvider;\n const response = await dataProvider.ExecuteGQL(\n `query AvailableSearchProviders { AvailableSearchProviders { DriverClass SourceType } }`,\n {}\n ) as { AvailableSearchProviders?: Array<{ DriverClass: string }> };\n return (response?.AvailableSearchProviders ?? []).map(r => r.DriverClass);\n } catch (err) {\n // Older server build won't have the resolver. The dropdown still\n // works from DB rows; the registration badge just won't appear.\n const msg = err instanceof Error ? err.message : String(err);\n LogError(`MJSearchScopeProviderFormExtended: AvailableSearchProviders query failed (badge disabled): ${msg}`);\n return [];\n }\n }\n}\n","<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <!-- ========================================\n FIELD PANELS\n ======================================== -->\n <!-- Search Configuration Section -->\n <mj-collapsible-panel\n SectionKey=\"searchConfiguration\"\n SectionName=\"Search Configuration\"\n Icon=\"fa fa-search\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SearchScopeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n <!-- P5.5 — provider picker. Replaces the generated form's plain\n SearchProviderID textbox. Sourced from MJ: Search Providers\n rows; each option is annotated with whether the provider's\n DriverClass is currently registered with the server's\n ClassFactory. -->\n <div class=\"provider-picker\">\n <label class=\"provider-picker-label\">Search Provider</label>\n @if (LoadError) {\n <p class=\"provider-picker-error\">\n <i class=\"fa-solid fa-circle-exclamation\"></i>\n Could not load provider catalog — {{ LoadError }}\n </p>\n }\n <select\n class=\"mj-input provider-picker-select\"\n [disabled]=\"!EditMode || !ProvidersLoaded\"\n [ngModel]=\"SelectedSearchProviderID\"\n (ngModelChange)=\"SelectedSearchProviderID = $event\">\n <option value=\"\">— Select a provider —</option>\n @for (option of AvailableProviders; track option.ID) {\n <option [value]=\"option.ID\">\n {{ option.Name }} — {{ option.DriverClass }}{{ option.IsRegisteredOnServer ? '' : ' (not registered on this server)' }}{{ option.Status !== 'Active' ? ' [' + option.Status + ']' : '' }}\n </option>\n }\n </select>\n @if (SelectedProviderUnregisteredOnServer) {\n <p class=\"provider-picker-warning\">\n <i class=\"fa-solid fa-triangle-exclamation\"></i>\n The selected provider's <code>DriverClass</code> is not registered with this MJServer build.\n Searches using this <code>SearchScopeProvider</code> will return no results until the\n package that registers <code>{{ SelectedProvider?.DriverClass }}</code> is installed.\n </p>\n }\n <p class=\"provider-picker-help\">\n Picks from rows in <code>MJ: Search Providers</code>. The \"(not registered on this server)\" suffix\n comes from the <code>AvailableSearchProviders</code> query, which calls\n <code>BaseSearchProvider.GetAvailableProviders()</code> server-side to enumerate\n ClassFactory registrations.\n </p>\n </div>\n\n </mj-collapsible-panel>\n\n <!-- Operational Settings Section -->\n <mj-collapsible-panel\n SectionKey=\"operationalSettings\"\n SectionName=\"Operational Settings\"\n Icon=\"fa fa-sliders-h\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Enabled\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"MaxResultsOverride\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProviderConfigOverride\"\n Type=\"code\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- Query Processing Section -->\n <mj-collapsible-panel\n SectionKey=\"queryProcessing\"\n SectionName=\"Query Processing\"\n Icon=\"fa fa-magic\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"false\"\n FieldName=\"QueryTransformTemplateID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- System Metadata Section -->\n <mj-collapsible-panel\n SectionKey=\"systemMetadata\"\n SectionName=\"System Metadata\"\n Icon=\"fa fa-cog\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\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 [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n</mj-record-form-container>\n"]}
|
|
1
|
+
{"version":3,"file":"searchscopeprovider-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/SearchScopes/searchscopeprovider-form.component.ts","../../../../src/lib/custom/SearchScopes/searchscopeprovider-form.component.html"],"names":[],"mappings":"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","sourcesContent":["/**\n * Custom MJSearchScopeProvider form (P5.5).\n *\n * Plan acceptance criterion: provide a dropdown for `SearchProviderID` so\n * scope authors don't have to look up GUIDs by hand. The dropdown is sourced\n * from the `MJ: Search Providers` table (those rows are the canonical FK\n * targets), and each option is annotated with whether the provider's\n * `DriverClass` is currently registered with the runtime ClassFactory on\n * this MJServer build — so authors can see at a glance whether their pick\n * will actually be available at search time.\n *\n * The runtime registration list comes from the `AvailableSearchProviders`\n * GraphQL query backed by `BaseSearchProvider.GetAvailableProviders()`.\n * That query is the canonical \"which providers does this server know\n * about\" source — same helper Phase 5.5 of the RAG plan calls out.\n */\nimport { Component, OnInit } from '@angular/core';\nimport { LogError, Metadata, RunView } from '@memberjunction/core';\nimport { MJSearchScopeProviderEntity, MJSearchProviderEntity } from '@memberjunction/core-entities';\nimport { RegisterClass } from '@memberjunction/global';\nimport { BaseFormComponent } from '@memberjunction/ng-base-forms';\nimport { GraphQLDataProvider } from '@memberjunction/graphql-dataprovider';\nimport { MJSearchScopeProviderFormComponent } from '../../generated/Entities/MJSearchScopeProvider/mjsearchscopeprovider.form.component';\n\ninterface SearchProviderOption {\n ID: string;\n Name: string;\n DriverClass: string;\n Status: 'Active' | 'Pending' | 'Terminated';\n /**\n * `true` if `DriverClass` matches a class currently registered with the\n * runtime ClassFactory on this MJServer. `false` means the row exists in\n * `MJ: Search Providers` but no installed package registers that class —\n * picking it would result in `IsAvailable()=false` at search time.\n */\n IsRegisteredOnServer: boolean;\n}\n\n@RegisterClass(BaseFormComponent, 'MJ: Search Scope Providers')\n@Component({\n standalone: false,\n selector: 'mj-searchscopeprovider-form-extended',\n templateUrl: './searchscopeprovider-form.component.html',\n styleUrls: ['./searchscopeprovider-form.component.css'],\n})\nexport class MJSearchScopeProviderFormComponentExtended extends MJSearchScopeProviderFormComponent implements OnInit {\n public override record!: MJSearchScopeProviderEntity;\n\n public AvailableProviders: SearchProviderOption[] = [];\n public ProvidersLoaded = false;\n public LoadError: string | null = null;\n\n /**\n * Drives the dropdown's `[ngModel]`. Kept in sync with `record.SearchProviderID`\n * via the setter so dirty tracking and the form's save flow continue to work.\n */\n public get SelectedSearchProviderID(): string {\n return this.record?.SearchProviderID ?? '';\n }\n public set SelectedSearchProviderID(value: string) {\n if (!this.record) return;\n if (this.record.SearchProviderID === value) return;\n this.record.SearchProviderID = value;\n }\n\n public get SelectedProvider(): SearchProviderOption | null {\n const id = this.SelectedSearchProviderID;\n if (!id) return null;\n return this.AvailableProviders.find(p => p.ID.toLowerCase() === id.toLowerCase()) ?? null;\n }\n\n public get SelectedProviderUnregisteredOnServer(): boolean {\n const sel = this.SelectedProvider;\n return sel != null && !sel.IsRegisteredOnServer;\n }\n\n override async ngOnInit(): Promise<void> {\n await super.ngOnInit();\n await this.loadProviderCatalog();\n }\n\n /**\n * Pulls the `MJ: Search Providers` rows and the server-registered class list\n * in parallel, then merges into one dropdown source. Failures don't block the\n * form — the dropdown just disables itself, leaving the underlying generated\n * textbox accessible via `EditMode`.\n */\n private async loadProviderCatalog(): Promise<void> {\n try {\n const rv = new RunView();\n const [rowsResult, registeredKeys] = await Promise.all([\n rv.RunView<MJSearchProviderEntity>({\n EntityName: 'MJ: Search Providers',\n OrderBy: 'Name',\n ResultType: 'simple',\n }),\n this.fetchRegisteredDriverClasses(),\n ]);\n\n if (!rowsResult.Success) {\n this.LoadError = rowsResult.ErrorMessage ?? 'Unknown error loading providers';\n LogError(`MJSearchScopeProviderFormExtended: RunView failed: ${this.LoadError}`);\n return;\n }\n\n const registeredSet = new Set(registeredKeys.map(k => k.toLowerCase()));\n const rows = rowsResult.Results ?? [];\n this.AvailableProviders = rows.map(row => ({\n ID: row.ID,\n Name: row.Name,\n DriverClass: row.DriverClass,\n Status: row.Status,\n IsRegisteredOnServer: registeredSet.has(row.DriverClass.toLowerCase()),\n }));\n this.ProvidersLoaded = true;\n } catch (err) {\n const msg = err instanceof Error ? err.message : String(err);\n this.LoadError = msg;\n LogError(`MJSearchScopeProviderFormExtended: catalog load threw: ${msg}`);\n }\n }\n\n /**\n * Calls the `AvailableSearchProviders` GraphQL query to learn which\n * `DriverClass` keys are actually registered with `MJGlobal.ClassFactory`\n * on the server. Returns `[]` on any failure — the dropdown still renders\n * from the DB rows; we just lose the \"(not registered)\" badge.\n */\n private async fetchRegisteredDriverClasses(): Promise<string[]> {\n try {\n const dataProvider = this.ProviderToUse as GraphQLDataProvider;\n const response = await dataProvider.ExecuteGQL(\n `query AvailableSearchProviders { AvailableSearchProviders { DriverClass SourceType } }`,\n {}\n ) as { AvailableSearchProviders?: Array<{ DriverClass: string }> };\n return (response?.AvailableSearchProviders ?? []).map(r => r.DriverClass);\n } catch (err) {\n // Older server build won't have the resolver. The dropdown still\n // works from DB rows; the registration badge just won't appear.\n const msg = err instanceof Error ? err.message : String(err);\n LogError(`MJSearchScopeProviderFormExtended: AvailableSearchProviders query failed (badge disabled): ${msg}`);\n return [];\n }\n }\n}\n","<mj-record-form-container [Record]=\"record\" [FormComponent]=\"this\"\n (Navigate)=\"OnFormNavigate($event)\"\n (DeleteRequested)=\"OnDeleteRequested()\"\n (FavoriteToggled)=\"OnFavoriteToggled()\"\n (HistoryRequested)=\"OnHistoryRequested()\"\n (ListManagementRequested)=\"OnListManagementRequested()\">\n\n <!-- ========================================\n FIELD PANELS\n ======================================== -->\n <!-- Search Configuration Section -->\n <mj-collapsible-panel\n SectionKey=\"searchConfiguration\"\n SectionName=\"Search Configuration\"\n Icon=\"fa fa-search\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"SearchScopeID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n <!-- P5.5 — provider picker. Replaces the generated form's plain\n SearchProviderID textbox. Sourced from MJ: Search Providers\n rows; each option is annotated with whether the provider's\n DriverClass is currently registered with the server's\n ClassFactory. -->\n <div class=\"provider-picker\">\n <label class=\"provider-picker-label\">Search Provider</label>\n @if (LoadError) {\n <mj-alert Variant=\"error\">Could not load provider catalog — {{ LoadError }}</mj-alert>\n }\n <select\n class=\"mj-input provider-picker-select\"\n [disabled]=\"!EditMode || !ProvidersLoaded\"\n [ngModel]=\"SelectedSearchProviderID\"\n (ngModelChange)=\"SelectedSearchProviderID = $event\">\n <option value=\"\">— Select a provider —</option>\n @for (option of AvailableProviders; track option.ID) {\n <option [value]=\"option.ID\">\n {{ option.Name }} — {{ option.DriverClass }}{{ option.IsRegisteredOnServer ? '' : ' (not registered on this server)' }}{{ option.Status !== 'Active' ? ' [' + option.Status + ']' : '' }}\n </option>\n }\n </select>\n @if (SelectedProviderUnregisteredOnServer) {\n <mj-alert Variant=\"warning\">\n The selected provider's <code>DriverClass</code> is not registered with this MJServer build.\n Searches using this <code>SearchScopeProvider</code> will return no results until the\n package that registers <code>{{ SelectedProvider?.DriverClass }}</code> is installed.\n </mj-alert>\n }\n <p class=\"provider-picker-help\">\n Picks from rows in <code>MJ: Search Providers</code>. The \"(not registered on this server)\" suffix\n comes from the <code>AvailableSearchProviders</code> query, which calls\n <code>BaseSearchProvider.GetAvailableProviders()</code> server-side to enumerate\n ClassFactory registrations.\n </p>\n </div>\n\n </mj-collapsible-panel>\n\n <!-- Operational Settings Section -->\n <mj-collapsible-panel\n SectionKey=\"operationalSettings\"\n SectionName=\"Operational Settings\"\n Icon=\"fa fa-sliders-h\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"Enabled\"\n Type=\"checkbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"MaxResultsOverride\"\n Type=\"number\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"ProviderConfigOverride\"\n Type=\"code\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- Query Processing Section -->\n <mj-collapsible-panel\n SectionKey=\"queryProcessing\"\n SectionName=\"Query Processing\"\n Icon=\"fa fa-magic\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"false\"\n FieldName=\"QueryTransformTemplateID\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\n LinkType=\"Record\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n\n <!-- System Metadata Section -->\n <mj-collapsible-panel\n SectionKey=\"systemMetadata\"\n SectionName=\"System Metadata\"\n Icon=\"fa fa-cog\"\n [Form]=\"this\"\n [FormContext]=\"formContext\">\n <mj-form-field\n [Record]=\"record\"\n [ShowLabel]=\"true\"\n FieldName=\"__mj_CreatedAt\"\n Type=\"textbox\"\n [EditMode]=\"EditMode\"\n [FormContext]=\"formContext\"\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 [FormContext]=\"formContext\"\n ></mj-form-field>\n\n </mj-collapsible-panel>\n</mj-record-form-container>\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template-param-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Templates/template-param-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,+BAA+B,CAAC;AAKxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAMa,4BAA6B,SAAQ,oBAAqB,YAAW,MAAM;IAC3E,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE3C,UAAU,EAAE,OAAO,CAAS;IACnC,IACI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAQ3B;IAES,eAAe,wBAA+B;IAC9C,OAAO,qBAA4B;IAEtC,UAAU,EAAE,aAAa,EAAE,CAAM;IACjC,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC5C,oBAAoB,UAAS;IAC7B,kBAAkB,UAAQ;IAC1B,mBAAmB,UAAS;IAC5B,eAAe,UAAQ;IAE9B,OAAO,CAAC,sBAAsB,CAA+B;IAE7D,QAAQ;IAMF,kBAAkB;IAwCxB,YAAY;IAQZ,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,iBAAiB;IASX,WAAW;
|
|
1
|
+
{"version":3,"file":"template-param-dialog.component.d.ts","sourceRoot":"","sources":["../../../../src/lib/custom/Templates/template-param-dialog.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,YAAY,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAyB,MAAM,+BAA+B,CAAC;AAKxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;;AACrE,MAAM,WAAW,aAAa;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,qBAMa,4BAA6B,SAAQ,oBAAqB,YAAW,MAAM;IAC3E,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAQ;IAE3C,UAAU,EAAE,OAAO,CAAS;IACnC,IACI,SAAS,IAAI,OAAO,CAEvB;IACD,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAQ3B;IAES,eAAe,wBAA+B;IAC9C,OAAO,qBAA4B;IAEtC,UAAU,EAAE,aAAa,EAAE,CAAM;IACjC,SAAS,UAAS;IAClB,SAAS,UAAS;IAClB,UAAU,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAC5C,oBAAoB,UAAS;IAC7B,kBAAkB,UAAQ;IAC1B,mBAAmB,UAAS;IAC5B,eAAe,UAAQ;IAE9B,OAAO,CAAC,sBAAsB,CAA+B;IAE7D,QAAQ;IAMF,kBAAkB;IAwCxB,YAAY;IAQZ,eAAe,CAAC,KAAK,EAAE,MAAM;IAM7B,iBAAiB;IASX,WAAW;IA+FX,oBAAoB;IAgD1B,KAAK;IAML,OAAO,CAAC,gBAAgB;IAcxB,WAAW;IA6BX,IAAI,gBAAgB,IAAI,MAAM,CAY7B;yCAjTQ,4BAA4B;2CAA5B,4BAA4B;CAkTxC"}
|