@memberjunction/ng-core-entity-forms 3.4.0 → 4.1.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/README.md +85 -2
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts +13 -25
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js +33 -379
- 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 +15 -14
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +1 -0
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +14 -13
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +45 -15
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1443 -1267
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +15 -14
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +12 -12
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +9 -8
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +14 -14
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +12 -11
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
- 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 +18 -16
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +3 -8
- 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 +107 -77
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +9 -9
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +1 -8
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +599 -587
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +11 -10
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +1 -6
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +20 -21
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +2 -6
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +64 -59
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +73 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +1592 -914
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +15 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +51 -30
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +437 -448
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-category-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-category-dialog.component.js +28 -29
- package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +1 -3
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +189 -188
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +90 -89
- package/dist/lib/custom/Queries/query-run-dialog.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 +76 -75
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.js +98 -93
- package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +0 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +28 -39
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts +0 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +16 -18
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +7 -13
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +440 -423
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts +0 -7
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.js +11 -20
- package/dist/lib/custom/Tests/test-rubric-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts +0 -7
- package/dist/lib/custom/Tests/test-run-feedback-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +18 -25
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.d.ts +5 -12
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +423 -410
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +7 -13
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +665 -642
- 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 +7 -13
- 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 +635 -606
- 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.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +240 -243
- 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.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +42 -40
- 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-step-node.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +37 -36
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +68 -78
- 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-visualization.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +6 -6
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +5 -10
- 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 +310 -292
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +50 -54
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +29 -63
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +85 -82
- package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAction/aiaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAction/aiaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js +36 -41
- package/dist/lib/generated/Entities/AIAction/aiaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +252 -267
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js +34 -42
- package/dist/lib/generated/Entities/AIAgentAction/aiagentaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js +19 -27
- package/dist/lib/generated/Entities/AIAgentArtifactType/aiagentartifacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js +26 -32
- package/dist/lib/generated/Entities/AIAgentConfiguration/aiagentconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js +43 -47
- package/dist/lib/generated/Entities/AIAgentDataSource/aiagentdatasource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js +48 -66
- package/dist/lib/generated/Entities/AIAgentExample/aiagentexample.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js +26 -30
- package/dist/lib/generated/Entities/AIAgentLearningCycle/aiagentlearningcycle.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js +24 -30
- package/dist/lib/generated/Entities/AIAgentModality/aiagentmodality.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js +20 -26
- package/dist/lib/generated/Entities/AIAgentModel/aiagentmodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js +44 -64
- package/dist/lib/generated/Entities/AIAgentNote/aiagentnote.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js +22 -26
- package/dist/lib/generated/Entities/AIAgentNoteType/aiagentnotetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js +27 -35
- package/dist/lib/generated/Entities/AIAgentPermission/aiagentpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js +25 -35
- package/dist/lib/generated/Entities/AIAgentPrompt/aiagentprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js +29 -35
- package/dist/lib/generated/Entities/AIAgentRelationship/aiagentrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js +27 -35
- package/dist/lib/generated/Entities/AIAgentRequest/aiagentrequest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +121 -150
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js +37 -47
- package/dist/lib/generated/Entities/AIAgentRunMedia/aiagentrunmedia.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js +52 -59
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js +55 -66
- package/dist/lib/generated/Entities/AIAgentStep/aiagentstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js +24 -30
- package/dist/lib/generated/Entities/AIAgentStepPath/aiagentsteppath.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js +37 -42
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js +42 -47
- package/dist/lib/generated/Entities/AIArchitecture/aiarchitecture.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +86 -97
- package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js +23 -27
- package/dist/lib/generated/Entities/AIConfigurationParam/aiconfigurationparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js +19 -29
- package/dist/lib/generated/Entities/AICredentialBinding/aicredentialbinding.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModality/aimodality.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModality/aimodality.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js +70 -73
- package/dist/lib/generated/Entities/AIModality/aimodality.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +179 -184
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js +21 -27
- package/dist/lib/generated/Entities/AIModelAction/aimodelaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js +23 -29
- package/dist/lib/generated/Entities/AIModelArchitecture/aimodelarchitecture.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js +33 -43
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js +31 -37
- package/dist/lib/generated/Entities/AIModelModality/aimodelmodality.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js +21 -24
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js +22 -25
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +35 -42
- package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js +39 -48
- package/dist/lib/generated/Entities/AIModelVendor/aimodelvendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +161 -174
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js +35 -40
- package/dist/lib/generated/Entities/AIPromptCategory/aipromptcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js +44 -55
- package/dist/lib/generated/Entities/AIPromptModel/aipromptmodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +134 -163
- package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js +43 -52
- package/dist/lib/generated/Entities/AIPromptRunMedia/aipromptrunmedia.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js +21 -24
- package/dist/lib/generated/Entities/AIPromptType/aiprompttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js +36 -50
- package/dist/lib/generated/Entities/AIResultCache/airesultcache.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +76 -81
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js +25 -31
- package/dist/lib/generated/Entities/AIVendorType/aivendortype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js +28 -31
- package/dist/lib/generated/Entities/AIVendorTypeDefinition/aivendortypedefinition.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js +37 -40
- package/dist/lib/generated/Entities/APIApplication/apiapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js +24 -30
- package/dist/lib/generated/Entities/APIApplicationScope/apiapplicationscope.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIKey/apikey.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIKey/apikey.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIKey/apikey.form.component.js +49 -56
- package/dist/lib/generated/Entities/APIKey/apikey.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js +17 -23
- package/dist/lib/generated/Entities/APIKeyApplication/apikeyapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js +24 -30
- package/dist/lib/generated/Entities/APIKeyScope/apikeyscope.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js +30 -36
- package/dist/lib/generated/Entities/APIKeyUsageLog/apikeyusagelog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/APIScope/apiscope.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/APIScope/apiscope.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js +47 -52
- package/dist/lib/generated/Entities/APIScope/apiscope.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js +32 -38
- package/dist/lib/generated/Entities/AccessControlRule/accesscontrolrule.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Action/action.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Action/action.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Action/action.form.component.js +130 -141
- package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js +19 -25
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js +43 -48
- package/dist/lib/generated/Entities/ActionCategory/actioncategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js +21 -27
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js +21 -24
- package/dist/lib/generated/Entities/ActionContextType/actioncontexttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js +27 -33
- package/dist/lib/generated/Entities/ActionExecutionLog/actionexecutionlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js +23 -26
- package/dist/lib/generated/Entities/ActionFilter/actionfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js +19 -25
- package/dist/lib/generated/Entities/ActionLibrary/actionlibrary.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js +42 -47
- package/dist/lib/generated/Entities/ActionParam/actionparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js +22 -26
- package/dist/lib/generated/Entities/ActionResultCode/actionresultcode.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Application/application.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Application/application.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Application/application.form.component.js +64 -67
- package/dist/lib/generated/Entities/Application/application.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js +26 -32
- package/dist/lib/generated/Entities/ApplicationEntity/applicationentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js +22 -26
- package/dist/lib/generated/Entities/ApplicationSetting/applicationsetting.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Artifact/artifact.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Artifact/artifact.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Artifact/artifact.form.component.js +47 -56
- package/dist/lib/generated/Entities/Artifact/artifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js +25 -33
- package/dist/lib/generated/Entities/ArtifactPermission/artifactpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js +61 -66
- package/dist/lib/generated/Entities/ArtifactType/artifacttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js +22 -28
- package/dist/lib/generated/Entities/ArtifactUse/artifactuse.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js +55 -62
- package/dist/lib/generated/Entities/ArtifactVersion/artifactversion.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js +26 -30
- package/dist/lib/generated/Entities/ArtifactVersionAttribute/artifactversionattribute.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js +26 -36
- package/dist/lib/generated/Entities/AuditLog/auditlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js +38 -45
- package/dist/lib/generated/Entities/AuditLogType/auditlogtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Authorization/authorization.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Authorization/authorization.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Authorization/authorization.form.component.js +60 -65
- package/dist/lib/generated/Entities/Authorization/authorization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js +19 -25
- package/dist/lib/generated/Entities/AuthorizationRole/authorizationrole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Collection/collection.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Collection/collection.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Collection/collection.form.component.js +50 -59
- package/dist/lib/generated/Entities/Collection/collection.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js +19 -25
- package/dist/lib/generated/Entities/CollectionArtifact/collectionartifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js +25 -33
- package/dist/lib/generated/Entities/CollectionPermission/collectionpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js +32 -35
- package/dist/lib/generated/Entities/CommunicationBaseMessageType/communicationbasemessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js +28 -38
- package/dist/lib/generated/Entities/CommunicationLog/communicationlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js +37 -40
- package/dist/lib/generated/Entities/CommunicationProvider/communicationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js +31 -38
- package/dist/lib/generated/Entities/CommunicationProviderMessageType/communicationprovidermessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js +36 -41
- package/dist/lib/generated/Entities/CommunicationRun/communicationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Company/company.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Company/company.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Company/company.form.component.js +60 -63
- package/dist/lib/generated/Entities/Company/company.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js +71 -78
- package/dist/lib/generated/Entities/CompanyIntegration/companyintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js +20 -26
- package/dist/lib/generated/Entities/CompanyIntegrationRecordMap/companyintegrationrecordmap.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js +54 -59
- package/dist/lib/generated/Entities/CompanyIntegrationRun/companyintegrationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js +23 -29
- package/dist/lib/generated/Entities/CompanyIntegrationRunAPILog/companyintegrationrunapilog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js +37 -42
- package/dist/lib/generated/Entities/CompanyIntegrationRunDetail/companyintegrationrundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Component/component.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Component/component.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Component/component.form.component.js +66 -71
- package/dist/lib/generated/Entities/Component/component.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js +17 -23
- package/dist/lib/generated/Entities/ComponentDependency/componentdependency.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js +33 -36
- package/dist/lib/generated/Entities/ComponentLibrary/componentlibrary.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js +21 -27
- package/dist/lib/generated/Entities/ComponentLibraryLink/componentlibrarylink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js +26 -29
- package/dist/lib/generated/Entities/ComponentRegistry/componentregistry.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js +27 -30
- package/dist/lib/generated/Entities/ContentFileType/contentfiletype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js +38 -54
- package/dist/lib/generated/Entities/ContentItem/contentitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js +17 -22
- package/dist/lib/generated/Entities/ContentItemAttribute/contentitemattribute.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js +16 -21
- package/dist/lib/generated/Entities/ContentItemTag/contentitemtag.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js +19 -24
- package/dist/lib/generated/Entities/ContentProcessRun/contentprocessrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js +41 -55
- package/dist/lib/generated/Entities/ContentSource/contentsource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js +17 -22
- package/dist/lib/generated/Entities/ContentSourceParam/contentsourceparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js +27 -30
- package/dist/lib/generated/Entities/ContentSourceType/contentsourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js +16 -18
- package/dist/lib/generated/Entities/ContentSourceTypeParam/contentsourcetypeparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentType/contenttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentType/contenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js +33 -40
- package/dist/lib/generated/Entities/ContentType/contenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js +15 -17
- package/dist/lib/generated/Entities/ContentTypeAttribute/contenttypeattribute.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js +80 -95
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js +44 -51
- package/dist/lib/generated/Entities/ConversationArtifact/conversationartifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js +19 -25
- package/dist/lib/generated/Entities/ConversationArtifactPermission/conversationartifactpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js +31 -36
- package/dist/lib/generated/Entities/ConversationArtifactVersion/conversationartifactversion.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js +111 -130
- package/dist/lib/generated/Entities/ConversationDetail/conversationdetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js +21 -29
- package/dist/lib/generated/Entities/ConversationDetailArtifact/conversationdetailartifact.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js +34 -42
- package/dist/lib/generated/Entities/ConversationDetailAttachment/conversationdetailattachment.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js +20 -32
- package/dist/lib/generated/Entities/ConversationDetailRating/conversationdetailrating.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Credential/credential.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Credential/credential.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Credential/credential.form.component.js +72 -61
- package/dist/lib/generated/Entities/Credential/credential.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js +36 -41
- package/dist/lib/generated/Entities/CredentialCategory/credentialcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js +40 -43
- package/dist/lib/generated/Entities/CredentialType/credentialtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js +60 -71
- package/dist/lib/generated/Entities/Dashboard/dashboard.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js +52 -59
- package/dist/lib/generated/Entities/DashboardCategory/dashboardcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js +21 -29
- package/dist/lib/generated/Entities/DashboardCategoryLink/dashboardcategorylink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js +28 -36
- package/dist/lib/generated/Entities/DashboardCategoryPermission/dashboardcategorypermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js +21 -23
- package/dist/lib/generated/Entities/DashboardPartType/dashboardparttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js +25 -33
- package/dist/lib/generated/Entities/DashboardPermission/dashboardpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js +26 -34
- package/dist/lib/generated/Entities/DashboardUserPreference/dashboarduserpreference.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js +19 -25
- package/dist/lib/generated/Entities/DashboardUserState/dashboarduserstate.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DataContext/datacontext.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DataContext/datacontext.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js +44 -49
- package/dist/lib/generated/Entities/DataContext/datacontext.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js +32 -42
- package/dist/lib/generated/Entities/DataContextItem/datacontextitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Dataset/dataset.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Dataset/dataset.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Dataset/dataset.form.component.js +21 -24
- package/dist/lib/generated/Entities/Dataset/dataset.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js +25 -31
- package/dist/lib/generated/Entities/DatasetItem/datasetitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js +39 -50
- package/dist/lib/generated/Entities/DuplicateRun/duplicaterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js +33 -38
- package/dist/lib/generated/Entities/DuplicateRunDetail/duplicaterundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js +27 -35
- package/dist/lib/generated/Entities/DuplicateRunDetailMatch/duplicaterundetailmatch.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Employee/employee.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Employee/employee.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Employee/employee.form.component.js +66 -71
- package/dist/lib/generated/Entities/Employee/employee.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js +22 -28
- package/dist/lib/generated/Entities/EmployeeCompanyIntegration/employeecompanyintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js +19 -33
- package/dist/lib/generated/Entities/EmployeeRole/employeerole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js +17 -23
- package/dist/lib/generated/Entities/EmployeeSkill/employeeskill.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js +25 -28
- package/dist/lib/generated/Entities/EncryptionAlgorithm/encryptionalgorithm.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js +31 -38
- package/dist/lib/generated/Entities/EncryptionKey/encryptionkey.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js +25 -28
- package/dist/lib/generated/Entities/EncryptionKeySource/encryptionkeysource.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Entity/entity.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Entity/entity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Entity/entity.form.component.js +424 -391
- package/dist/lib/generated/Entities/Entity/entity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js +33 -43
- package/dist/lib/generated/Entities/EntityAIAction/entityaiaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js +41 -48
- package/dist/lib/generated/Entities/EntityAction/entityaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js +23 -25
- package/dist/lib/generated/Entities/EntityActionFilter/entityactionfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js +21 -27
- package/dist/lib/generated/Entities/EntityActionInvocation/entityactioninvocation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js +22 -25
- package/dist/lib/generated/Entities/EntityActionInvocationType/entityactioninvocationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js +24 -26
- package/dist/lib/generated/Entities/EntityActionParam/entityactionparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js +17 -22
- package/dist/lib/generated/Entities/EntityCommunicationField/entitycommunicationfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js +27 -34
- package/dist/lib/generated/Entities/EntityCommunicationMessageType/entitycommunicationmessagetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js +52 -65
- package/dist/lib/generated/Entities/EntityDocument/entitydocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js +22 -26
- package/dist/lib/generated/Entities/EntityDocumentRun/entitydocumentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js +22 -26
- package/dist/lib/generated/Entities/EntityDocumentSetting/entitydocumentsetting.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js +20 -24
- package/dist/lib/generated/Entities/EntityDocumentType/entitydocumenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityField/entityfield.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityField/entityfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js +102 -103
- package/dist/lib/generated/Entities/EntityField/entityfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js +25 -29
- package/dist/lib/generated/Entities/EntityFieldValue/entityfieldvalue.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js +33 -45
- package/dist/lib/generated/Entities/EntityPermission/entitypermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js +32 -40
- package/dist/lib/generated/Entities/EntityRecordDocument/entityrecorddocument.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js +54 -60
- package/dist/lib/generated/Entities/EntityRelationship/entityrelationship.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js +22 -25
- package/dist/lib/generated/Entities/EntityRelationshipDisplayComponent/entityrelationshipdisplaycomponent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js +19 -23
- package/dist/lib/generated/Entities/EntitySetting/entitysetting.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Environment/environment.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Environment/environment.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Environment/environment.form.component.js +65 -69
- package/dist/lib/generated/Entities/Environment/environment.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js +29 -35
- package/dist/lib/generated/Entities/ErrorLog/errorlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js +23 -25
- package/dist/lib/generated/Entities/ExplorerNavigationItem/explorernavigationitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/File/file.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/File/file.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/File/file.form.component.js +55 -62
- package/dist/lib/generated/Entities/File/file.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js +35 -40
- package/dist/lib/generated/Entities/FileCategory/filecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js +19 -25
- package/dist/lib/generated/Entities/FileEntityRecordLink/fileentityrecordlink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js +22 -28
- package/dist/lib/generated/Entities/FileStorageAccount/filestorageaccount.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js +52 -55
- package/dist/lib/generated/Entities/FileStorageProvider/filestorageprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js +35 -43
- package/dist/lib/generated/Entities/GeneratedCode/generatedcode.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js +35 -40
- package/dist/lib/generated/Entities/GeneratedCodeCategory/generatedcodecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Integration/integration.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Integration/integration.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Integration/integration.form.component.js +41 -44
- package/dist/lib/generated/Entities/Integration/integration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js +27 -31
- package/dist/lib/generated/Entities/IntegrationURLFormat/integrationurlformat.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Library/library.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Library/library.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Library/library.form.component.js +32 -35
- package/dist/lib/generated/Entities/Library/library.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js +18 -22
- package/dist/lib/generated/Entities/LibraryItem/libraryitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/List/list.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/List/list.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/List/list.form.component.js +52 -63
- package/dist/lib/generated/Entities/List/list.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js +39 -46
- package/dist/lib/generated/Entities/ListCategory/listcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js +23 -27
- package/dist/lib/generated/Entities/ListDetail/listdetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js +22 -28
- package/dist/lib/generated/Entities/ListInvitation/listinvitation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ListShare/listshare.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ListShare/listshare.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ListShare/listshare.form.component.js +19 -25
- package/dist/lib/generated/Entities/ListShare/listshare.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js +87 -56
- package/dist/lib/generated/Entities/MCPServer/mcpserver.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js +110 -65
- package/dist/lib/generated/Entities/MCPServerConnection/mcpserverconnection.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js +24 -32
- package/dist/lib/generated/Entities/MCPServerConnectionPermission/mcpserverconnectionpermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js +23 -29
- package/dist/lib/generated/Entities/MCPServerConnectionTool/mcpserverconnectiontool.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js +48 -57
- package/dist/lib/generated/Entities/MCPServerTool/mcpservertool.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js +36 -44
- package/dist/lib/generated/Entities/MCPToolExecutionLog/mcptoolexecutionlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js +73 -0
- package/dist/lib/generated/Entities/OAuthAuthServerMetadataCache/oauthauthservermetadatacache.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js +75 -0
- package/dist/lib/generated/Entities/OAuthAuthorizationState/oauthauthorizationstate.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js +75 -0
- package/dist/lib/generated/Entities/OAuthClientRegistration/oauthclientregistration.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js +61 -0
- package/dist/lib/generated/Entities/OAuthToken/oauthtoken.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js +21 -24
- package/dist/lib/generated/Entities/OutputDeliveryType/outputdeliverytype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js +22 -25
- package/dist/lib/generated/Entities/OutputFormatType/outputformattype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js +21 -24
- package/dist/lib/generated/Entities/OutputTriggerType/outputtriggertype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Project/project.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Project/project.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Project/project.form.component.js +49 -56
- package/dist/lib/generated/Entities/Project/project.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js +30 -34
- package/dist/lib/generated/Entities/PublicLink/publiclink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Query/query.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Query/query.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Query/query.form.component.js +79 -86
- package/dist/lib/generated/Entities/Query/query.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js +42 -49
- package/dist/lib/generated/Entities/QueryCategory/querycategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js +20 -26
- package/dist/lib/generated/Entities/QueryEntity/queryentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueryField/queryfield.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueryField/queryfield.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js +32 -38
- package/dist/lib/generated/Entities/QueryField/queryfield.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js +28 -32
- package/dist/lib/generated/Entities/QueryParameter/queryparameter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js +18 -26
- package/dist/lib/generated/Entities/QueryPermission/querypermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Queue/queue.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Queue/queue.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Queue/queue.form.component.js +45 -50
- package/dist/lib/generated/Entities/Queue/queue.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js +30 -34
- package/dist/lib/generated/Entities/QueueTask/queuetask.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/QueueType/queuetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/QueueType/queuetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js +25 -28
- package/dist/lib/generated/Entities/QueueType/queuetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js +25 -38
- package/dist/lib/generated/Entities/Recommendation/recommendation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js +18 -31
- package/dist/lib/generated/Entities/RecommendationItem/recommendationitem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js +21 -24
- package/dist/lib/generated/Entities/RecommendationProvider/recommendationprovider.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js +31 -38
- package/dist/lib/generated/Entities/RecommendationRun/recommendationrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js +51 -49
- package/dist/lib/generated/Entities/RecordChange/recordchange.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js +30 -35
- package/dist/lib/generated/Entities/RecordChangeReplayRun/recordchangereplayrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js +26 -32
- package/dist/lib/generated/Entities/RecordLink/recordlink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js +17 -27
- package/dist/lib/generated/Entities/RecordMergeDeletionLog/recordmergedeletionlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js +46 -55
- package/dist/lib/generated/Entities/RecordMergeLog/recordmergelog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Report/report.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Report/report.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Report/report.form.component.js +60 -89
- package/dist/lib/generated/Entities/Report/report.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js +36 -43
- package/dist/lib/generated/Entities/ReportCategory/reportcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js +19 -25
- package/dist/lib/generated/Entities/ReportSnapshot/reportsnapshot.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js +19 -25
- package/dist/lib/generated/Entities/ReportUserState/reportuserstate.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js +24 -28
- package/dist/lib/generated/Entities/ReportVersion/reportversion.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js +16 -22
- package/dist/lib/generated/Entities/ResourceLink/resourcelink.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js +28 -37
- package/dist/lib/generated/Entities/ResourcePermission/resourcepermission.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js +54 -63
- package/dist/lib/generated/Entities/ResourceType/resourcetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Role/role.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Role/role.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Role/role.form.component.js +72 -75
- package/dist/lib/generated/Entities/Role/role.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js +21 -25
- package/dist/lib/generated/Entities/RowLevelSecurityFilter/rowlevelsecurityfilter.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js +42 -49
- package/dist/lib/generated/Entities/ScheduledAction/scheduledaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js +23 -29
- package/dist/lib/generated/Entities/ScheduledActionParam/scheduledactionparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js +60 -69
- package/dist/lib/generated/Entities/ScheduledJob/scheduledjob.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js +38 -45
- package/dist/lib/generated/Entities/ScheduledJobRun/scheduledjobrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js +26 -29
- package/dist/lib/generated/Entities/ScheduledJobType/scheduledjobtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js +18 -20
- package/dist/lib/generated/Entities/SchemaInfo/schemainfo.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Skill/skill.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Skill/skill.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Skill/skill.form.component.js +34 -39
- package/dist/lib/generated/Entities/Skill/skill.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Tag/tag.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Tag/tag.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Tag/tag.form.component.js +36 -41
- package/dist/lib/generated/Entities/Tag/tag.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js +21 -27
- package/dist/lib/generated/Entities/TaggedItem/taggeditem.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Task/task.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Task/task.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Task/task.form.component.js +58 -75
- package/dist/lib/generated/Entities/Task/task.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js +21 -27
- package/dist/lib/generated/Entities/TaskDependency/taskdependency.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TaskType/tasktype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TaskType/tasktype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js +21 -24
- package/dist/lib/generated/Entities/TaskType/tasktype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Template/template.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Template/template.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Template/template.form.component.js +70 -77
- package/dist/lib/generated/Entities/Template/template.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js +39 -46
- package/dist/lib/generated/Entities/TemplateCategory/templatecategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js +31 -38
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js +21 -25
- package/dist/lib/generated/Entities/TemplateContentType/templatecontenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js +34 -48
- package/dist/lib/generated/Entities/TemplateParam/templateparam.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Test/test.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Test/test.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Test/test.form.component.js +50 -55
- package/dist/lib/generated/Entities/Test/test.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js +19 -23
- package/dist/lib/generated/Entities/TestRubric/testrubric.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestRun/testrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestRun/testrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestRun/testrun.form.component.js +89 -100
- package/dist/lib/generated/Entities/TestRun/testrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js +25 -31
- package/dist/lib/generated/Entities/TestRunFeedback/testrunfeedback.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js +52 -57
- package/dist/lib/generated/Entities/TestSuite/testsuite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js +64 -71
- package/dist/lib/generated/Entities/TestSuiteRun/testsuiterun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js +17 -23
- package/dist/lib/generated/Entities/TestSuiteTest/testsuitetest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TestType/testtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/TestType/testtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/TestType/testtype.form.component.js +31 -34
- package/dist/lib/generated/Entities/TestType/testtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/User/user.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/User/user.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/User/user.form.component.js +645 -594
- package/dist/lib/generated/Entities/User/user.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js +28 -35
- package/dist/lib/generated/Entities/UserApplication/userapplication.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js +21 -25
- package/dist/lib/generated/Entities/UserApplicationEntity/userapplicationentity.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js +21 -25
- package/dist/lib/generated/Entities/UserFavorite/userfavorite.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js +27 -35
- package/dist/lib/generated/Entities/UserNotification/usernotification.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js +22 -28
- package/dist/lib/generated/Entities/UserNotificationPreference/usernotificationpreference.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js +44 -51
- package/dist/lib/generated/Entities/UserNotificationType/usernotificationtype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js +32 -36
- package/dist/lib/generated/Entities/UserRecordLog/userrecordlog.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserRole/userrole.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserRole/userrole.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserRole/userrole.form.component.js +17 -23
- package/dist/lib/generated/Entities/UserRole/userrole.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js +18 -22
- package/dist/lib/generated/Entities/UserSetting/usersetting.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserView/userview.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserView/userview.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserView/userview.form.component.js +72 -77
- package/dist/lib/generated/Entities/UserView/userview.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js +40 -49
- package/dist/lib/generated/Entities/UserViewCategory/userviewcategory.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js +29 -36
- package/dist/lib/generated/Entities/UserViewRun/userviewrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js +16 -18
- package/dist/lib/generated/Entities/UserViewRunDetail/userviewrundetail.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js +30 -33
- package/dist/lib/generated/Entities/VectorDatabase/vectordatabase.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js +28 -35
- package/dist/lib/generated/Entities/VectorIndex/vectorindex.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js +23 -25
- package/dist/lib/generated/Entities/VersionInstallation/versioninstallation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js +159 -0
- package/dist/lib/generated/Entities/VersionLabel/versionlabel.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js +63 -0
- package/dist/lib/generated/Entities/VersionLabelItem/versionlabelitem.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js +77 -0
- package/dist/lib/generated/Entities/VersionLabelRestore/versionlabelrestore.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/Workflow/workflow.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Workflow/workflow.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Workflow/workflow.form.component.js +36 -39
- package/dist/lib/generated/Entities/Workflow/workflow.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js +23 -26
- package/dist/lib/generated/Entities/WorkflowEngine/workflowengine.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js +25 -29
- package/dist/lib/generated/Entities/WorkflowRun/workflowrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Workspace/workspace.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/Workspace/workspace.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/Workspace/workspace.form.component.js +27 -33
- package/dist/lib/generated/Entities/Workspace/workspace.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.d.ts +0 -1
- package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js +26 -32
- package/dist/lib/generated/Entities/WorkspaceItem/workspaceitem.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +272 -271
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +429 -939
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.d.ts.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +167 -164
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/dist/public-api.d.ts +0 -1
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +1 -1
- package/dist/public-api.js.map +1 -1
- package/package.json +53 -52
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts +0 -109
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js +0 -2014
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-diagram.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.d.ts +0 -29
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.js +0 -198
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/condition-editor/condition-editor.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.d.ts +0 -14
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.js +0 -98
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/confirmation-dialog/confirmation-dialog.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.d.ts +0 -44
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.js +0 -282
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/custom-node/custom-node.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.d.ts +0 -35
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.js +0 -287
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/execution-panel/execution-panel.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.d.ts +0 -106
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.js +0 -951
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/flow-editor/flow-editor.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.d.ts +0 -30
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.js +0 -450
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/prompt-editor/prompt-editor.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.d.ts +0 -25
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.js +0 -423
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/properties-panel/properties-panel.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.d.ts +0 -21
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.js +0 -182
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/simple-condition-editor/simple-condition-editor.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.d.ts +0 -34
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.js +0 -171
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/step/step.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.d.ts +0 -17
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.js +0 -78
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/components/toolbar/toolbar.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.d.ts +0 -17
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.js +0 -11
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/connection.model.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.d.ts +0 -21
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.js +0 -2
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/mj-extended.model.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.d.ts +0 -33
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.js +0 -2
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/module.model.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.d.ts +0 -44
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.js +0 -166
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/models/step.model.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.d.ts +0 -14
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.js +0 -31
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-editor.service.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.d.ts +0 -63
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.js +0 -294
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/flow-executor.service.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.d.ts +0 -77
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.js +0 -408
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/mj-flow-transformer.service.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.d.ts +0 -19
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.js +0 -116
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/module-manager.service.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.d.ts +0 -25
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.js +0 -90
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-editor-integration/services/prompt-manager.service.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.d.ts +0 -52
- package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.js +0 -500
- package/dist/lib/custom/AIAgents/FlowAgentType/mj-integrated-flow-editor.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts +0 -9
- package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js +0 -84
- package/dist/lib/custom/AIAgents/FlowAgentType/step-info-control.component.js.map +0 -1
- package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.d.ts +0 -61
- package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.d.ts.map +0 -1
- package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.js +0 -790
- package/dist/lib/custom/AIAgents/agent-permissions-dialog.component.js.map +0 -1
|
@@ -4,12 +4,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
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
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { Component, ChangeDetectionStrategy } from '@angular/core';
|
|
7
|
+
import { Component, ChangeDetectionStrategy, inject } from '@angular/core';
|
|
8
8
|
import { Subject } from 'rxjs';
|
|
9
9
|
import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
10
10
|
import { Metadata, CompositeKey, RunView } from '@memberjunction/core';
|
|
11
11
|
import { RegisterClass } from '@memberjunction/global';
|
|
12
12
|
import { BaseFormComponent } from '@memberjunction/ng-base-forms';
|
|
13
|
+
import { SharedService } from '@memberjunction/ng-shared';
|
|
13
14
|
import { EntityFormComponent } from '../../generated/Entities/Entity/entity.form.component';
|
|
14
15
|
import * as i0 from "@angular/core";
|
|
15
16
|
import * as i1 from "@angular/common";
|
|
@@ -20,154 +21,402 @@ import * as i5 from "@memberjunction/ng-entity-relationship-diagram";
|
|
|
20
21
|
const _c0 = () => [1, 2, 3, 4, 5];
|
|
21
22
|
const _c1 = a0 => [a0];
|
|
22
23
|
const _c2 = () => [];
|
|
23
|
-
|
|
24
|
+
const _forTrack0 = ($index, $item) => $item.ID;
|
|
25
|
+
const _forTrack1 = ($index, $item) => $item.EntityName;
|
|
26
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
+
i0.ɵɵelementStart(0, "span", 8);
|
|
28
|
+
i0.ɵɵelement(1, "i", 42);
|
|
29
|
+
i0.ɵɵtext(2, " Virtual ");
|
|
30
|
+
i0.ɵɵelementEnd();
|
|
31
|
+
} }
|
|
32
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
24
34
|
i0.ɵɵelementStart(0, "span", 43);
|
|
35
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_12_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
|
|
36
|
+
i0.ɵɵelement(1, "i", 44);
|
|
37
|
+
i0.ɵɵtext(2);
|
|
38
|
+
i0.ɵɵelementEnd();
|
|
39
|
+
} if (rf & 2) {
|
|
40
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
41
|
+
i0.ɵɵadvance(2);
|
|
42
|
+
i0.ɵɵtextInterpolate1(" IS-A ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
|
|
43
|
+
} }
|
|
44
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
45
|
+
i0.ɵɵelementStart(0, "span", 10);
|
|
46
|
+
i0.ɵɵelement(1, "i", 45);
|
|
47
|
+
i0.ɵɵtext(2);
|
|
48
|
+
i0.ɵɵelementEnd();
|
|
49
|
+
} if (rf & 2) {
|
|
50
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
51
|
+
i0.ɵɵadvance(2);
|
|
52
|
+
i0.ɵɵtextInterpolate2(" ", ctx_r2.ChildEntities.length, " child type", ctx_r2.ChildEntities.length !== 1 ? "s" : "", " ");
|
|
53
|
+
} }
|
|
54
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
55
|
+
i0.ɵɵelementStart(0, "div", 11);
|
|
56
|
+
i0.ɵɵelement(1, "i", 46);
|
|
57
|
+
i0.ɵɵtext(2);
|
|
58
|
+
i0.ɵɵelementEnd();
|
|
59
|
+
} if (rf & 2) {
|
|
60
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
61
|
+
i0.ɵɵadvance(2);
|
|
62
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.IsaBreadcrumb, " ");
|
|
63
|
+
} }
|
|
64
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
65
|
+
i0.ɵɵelementStart(0, "span", 15);
|
|
25
66
|
i0.ɵɵtext(1);
|
|
26
67
|
i0.ɵɵpipe(2, "slice");
|
|
27
68
|
i0.ɵɵelementEnd();
|
|
28
69
|
} if (rf & 2) {
|
|
29
|
-
const
|
|
30
|
-
i0.ɵɵproperty("title",
|
|
70
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
71
|
+
i0.ɵɵproperty("title", ctx_r2.entity.Description);
|
|
31
72
|
i0.ɵɵadvance();
|
|
32
|
-
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind3(2, 3,
|
|
73
|
+
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind3(2, 3, ctx_r2.entity.Description, 0, 80), "", ctx_r2.entity.Description.length > 80 ? "..." : "", " ");
|
|
33
74
|
} }
|
|
34
|
-
function
|
|
35
|
-
i0.ɵɵelementStart(0, "span",
|
|
75
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
76
|
+
i0.ɵɵelementStart(0, "span", 19);
|
|
36
77
|
i0.ɵɵtext(1);
|
|
37
78
|
i0.ɵɵelementEnd();
|
|
38
79
|
} if (rf & 2) {
|
|
39
|
-
const
|
|
80
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
40
81
|
i0.ɵɵadvance();
|
|
41
|
-
i0.ɵɵtextInterpolate(
|
|
82
|
+
i0.ɵɵtextInterpolate(ctx_r2.formattedRowCount);
|
|
42
83
|
} }
|
|
43
|
-
function
|
|
44
|
-
i0.ɵɵelementStart(0, "span",
|
|
45
|
-
i0.ɵɵelement(1, "i",
|
|
84
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_43_Template(rf, ctx) { if (rf & 1) {
|
|
85
|
+
i0.ɵɵelementStart(0, "span", 25);
|
|
86
|
+
i0.ɵɵelement(1, "i", 47);
|
|
46
87
|
i0.ɵɵelementEnd();
|
|
47
88
|
} }
|
|
48
|
-
function
|
|
49
|
-
i0.ɵɵelementStart(0, "span",
|
|
89
|
+
function EntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
90
|
+
i0.ɵɵelementStart(0, "span", 50);
|
|
50
91
|
i0.ɵɵtext(1);
|
|
51
92
|
i0.ɵɵelementEnd();
|
|
52
93
|
} if (rf & 2) {
|
|
53
|
-
const
|
|
94
|
+
const item_r5 = i0.ɵɵnextContext().$implicit;
|
|
54
95
|
i0.ɵɵadvance();
|
|
55
|
-
i0.ɵɵtextInterpolate(
|
|
96
|
+
i0.ɵɵtextInterpolate(item_r5.badge);
|
|
56
97
|
} }
|
|
57
|
-
function
|
|
58
|
-
const
|
|
59
|
-
i0.ɵɵelementStart(0, "button",
|
|
60
|
-
i0.ɵɵlistener("click", function
|
|
98
|
+
function EntityFormComponentExtended_Conditional_0_For_49_Template(rf, ctx) { if (rf & 1) {
|
|
99
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
100
|
+
i0.ɵɵelementStart(0, "button", 48);
|
|
101
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_For_49_Template_button_click_0_listener() { const item_r5 = i0.ɵɵrestoreView(_r4).$implicit; const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection(item_r5.id)); });
|
|
61
102
|
i0.ɵɵelement(1, "i");
|
|
62
|
-
i0.ɵɵelementStart(2, "span",
|
|
103
|
+
i0.ɵɵelementStart(2, "span", 49);
|
|
63
104
|
i0.ɵɵtext(3);
|
|
64
105
|
i0.ɵɵelementEnd();
|
|
65
|
-
i0.ɵɵ
|
|
106
|
+
i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template, 2, 1, "span", 50);
|
|
66
107
|
i0.ɵɵelementEnd();
|
|
67
108
|
} if (rf & 2) {
|
|
68
|
-
const
|
|
69
|
-
const
|
|
70
|
-
i0.ɵɵclassProp("active",
|
|
71
|
-
i0.ɵɵproperty("title",
|
|
109
|
+
const item_r5 = ctx.$implicit;
|
|
110
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
111
|
+
i0.ɵɵclassProp("active", ctx_r2.activeSection === item_r5.id);
|
|
112
|
+
i0.ɵɵproperty("title", item_r5.label);
|
|
72
113
|
i0.ɵɵadvance();
|
|
73
|
-
i0.ɵɵclassMap(
|
|
114
|
+
i0.ɵɵclassMap(item_r5.icon);
|
|
74
115
|
i0.ɵɵadvance(2);
|
|
75
|
-
i0.ɵɵtextInterpolate(
|
|
116
|
+
i0.ɵɵtextInterpolate(item_r5.label);
|
|
76
117
|
i0.ɵɵadvance();
|
|
77
|
-
i0.ɵɵ
|
|
118
|
+
i0.ɵɵconditional(item_r5.badge ? 4 : -1);
|
|
78
119
|
} }
|
|
79
|
-
function
|
|
120
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
80
121
|
i0.ɵɵelementStart(0, "span");
|
|
81
122
|
i0.ɵɵtext(1);
|
|
82
123
|
i0.ɵɵelementEnd();
|
|
83
124
|
} if (rf & 2) {
|
|
84
|
-
const
|
|
125
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
85
126
|
i0.ɵɵadvance();
|
|
86
|
-
i0.ɵɵtextInterpolate1("",
|
|
127
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.stats.encryptedFieldCount, " Encrypted");
|
|
87
128
|
} }
|
|
88
|
-
function
|
|
129
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
89
130
|
i0.ɵɵelementStart(0, "span");
|
|
90
131
|
i0.ɵɵtext(1);
|
|
91
132
|
i0.ɵɵpipe(2, "date");
|
|
92
133
|
i0.ɵɵelementEnd();
|
|
93
134
|
} if (rf & 2) {
|
|
94
|
-
const
|
|
135
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
95
136
|
i0.ɵɵadvance();
|
|
96
|
-
i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(2, 1,
|
|
137
|
+
i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(2, 1, ctx_r2.entity.RowCountRunAt, "short"));
|
|
97
138
|
} }
|
|
98
|
-
function
|
|
139
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
99
140
|
i0.ɵɵelementStart(0, "span");
|
|
100
141
|
i0.ɵɵtext(1, "Row count");
|
|
101
142
|
i0.ɵɵelementEnd();
|
|
102
143
|
} }
|
|
103
|
-
function
|
|
104
|
-
i0.ɵɵelementStart(0, "span",
|
|
105
|
-
i0.ɵɵelement(1, "i",
|
|
144
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template(rf, ctx) { if (rf & 1) {
|
|
145
|
+
i0.ɵɵelementStart(0, "span", 70);
|
|
146
|
+
i0.ɵɵelement(1, "i", 82);
|
|
106
147
|
i0.ɵɵtext(2);
|
|
107
148
|
i0.ɵɵelementEnd();
|
|
108
149
|
} if (rf & 2) {
|
|
109
|
-
const
|
|
150
|
+
const cap_r7 = ctx.$implicit;
|
|
110
151
|
i0.ɵɵadvance(2);
|
|
111
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
152
|
+
i0.ɵɵtextInterpolate1(" ", cap_r7, " ");
|
|
112
153
|
} }
|
|
113
|
-
function
|
|
114
|
-
i0.ɵɵelementStart(0, "span",
|
|
115
|
-
i0.ɵɵelement(1, "i",
|
|
154
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template(rf, ctx) { if (rf & 1) {
|
|
155
|
+
i0.ɵɵelementStart(0, "span", 71);
|
|
156
|
+
i0.ɵɵelement(1, "i", 40);
|
|
116
157
|
i0.ɵɵtext(2, " No API ");
|
|
117
158
|
i0.ɵɵelementEnd();
|
|
118
159
|
} }
|
|
119
|
-
function
|
|
120
|
-
i0.ɵɵelementStart(0, "div",
|
|
160
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
+
i0.ɵɵelementStart(0, "div", 83);
|
|
162
|
+
i0.ɵɵelement(1, "i", 42);
|
|
163
|
+
i0.ɵɵelementStart(2, "span");
|
|
164
|
+
i0.ɵɵtext(3, "Virtual Entity \u2014 read-only view backed by ");
|
|
165
|
+
i0.ɵɵelementStart(4, "span", 85);
|
|
166
|
+
i0.ɵɵtext(5);
|
|
167
|
+
i0.ɵɵelementEnd()()();
|
|
168
|
+
} if (rf & 2) {
|
|
169
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
170
|
+
i0.ɵɵadvance(5);
|
|
171
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.BaseView);
|
|
172
|
+
} }
|
|
173
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
174
|
+
const _r8 = i0.ɵɵgetCurrentView();
|
|
175
|
+
i0.ɵɵelement(0, "i", 93);
|
|
176
|
+
i0.ɵɵelementStart(1, "span", 94);
|
|
177
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template_span_click_1_listener() { const parent_r9 = i0.ɵɵrestoreView(_r8).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(parent_r9)); });
|
|
178
|
+
i0.ɵɵtext(2);
|
|
179
|
+
i0.ɵɵelementEnd();
|
|
180
|
+
} if (rf & 2) {
|
|
181
|
+
const parent_r9 = ctx.$implicit;
|
|
182
|
+
i0.ɵɵadvance();
|
|
183
|
+
i0.ɵɵproperty("title", "Navigate to " + parent_r9.Name);
|
|
184
|
+
i0.ɵɵadvance();
|
|
185
|
+
i0.ɵɵtextInterpolate1(" ", parent_r9.Name, " ");
|
|
186
|
+
} }
|
|
187
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
+
i0.ɵɵelement(0, "i", 102);
|
|
189
|
+
} }
|
|
190
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
+
i0.ɵɵelement(0, "i", 103);
|
|
192
|
+
} }
|
|
193
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
194
|
+
i0.ɵɵelementStart(0, "span", 106);
|
|
195
|
+
i0.ɵɵtext(1);
|
|
196
|
+
i0.ɵɵelementStart(2, "span", 107);
|
|
197
|
+
i0.ɵɵtext(3);
|
|
198
|
+
i0.ɵɵelementEnd()();
|
|
199
|
+
} if (rf & 2) {
|
|
200
|
+
const field_r11 = ctx.$implicit;
|
|
201
|
+
i0.ɵɵproperty("title", field_r11.Description || field_r11.Name);
|
|
202
|
+
i0.ɵɵadvance();
|
|
203
|
+
i0.ɵɵtextInterpolate1(" ", field_r11.DisplayName || field_r11.Name, " ");
|
|
204
|
+
i0.ɵɵadvance(2);
|
|
205
|
+
i0.ɵɵtextInterpolate(field_r11.Type);
|
|
206
|
+
} }
|
|
207
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
+
i0.ɵɵelementStart(0, "div", 99)(1, "div", 100)(2, "span", 101);
|
|
209
|
+
i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template, 1, 0, "i", 102)(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template, 1, 0, "i", 103);
|
|
210
|
+
i0.ɵɵtext(5);
|
|
211
|
+
i0.ɵɵelementEnd();
|
|
212
|
+
i0.ɵɵelementStart(6, "span", 104);
|
|
213
|
+
i0.ɵɵtext(7);
|
|
214
|
+
i0.ɵɵelementEnd()();
|
|
215
|
+
i0.ɵɵelementStart(8, "div", 105);
|
|
216
|
+
i0.ɵɵrepeaterCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template, 4, 3, "span", 106, _forTrack0);
|
|
217
|
+
i0.ɵɵelementEnd()();
|
|
218
|
+
} if (rf & 2) {
|
|
219
|
+
const group_r12 = ctx.$implicit;
|
|
220
|
+
i0.ɵɵclassProp("own", group_r12.Level === 0)("inherited", group_r12.Level > 0);
|
|
221
|
+
i0.ɵɵadvance(3);
|
|
222
|
+
i0.ɵɵconditional(group_r12.Level === 0 ? 3 : 4);
|
|
223
|
+
i0.ɵɵadvance(2);
|
|
224
|
+
i0.ɵɵtextInterpolate1(" ", group_r12.Label, " ");
|
|
225
|
+
i0.ɵɵadvance(2);
|
|
226
|
+
i0.ɵɵtextInterpolate2("", group_r12.Fields.length, " field", group_r12.Fields.length !== 1 ? "s" : "");
|
|
227
|
+
i0.ɵɵadvance(2);
|
|
228
|
+
i0.ɵɵrepeater(group_r12.Fields);
|
|
229
|
+
} }
|
|
230
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
231
|
+
i0.ɵɵelementStart(0, "div", 97);
|
|
232
|
+
i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template, 11, 8, "div", 98, _forTrack1);
|
|
233
|
+
i0.ɵɵelementEnd();
|
|
234
|
+
} if (rf & 2) {
|
|
235
|
+
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
236
|
+
i0.ɵɵadvance();
|
|
237
|
+
i0.ɵɵrepeater(ctx_r2.isaFieldGroups);
|
|
238
|
+
} }
|
|
239
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
240
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
241
|
+
i0.ɵɵelementStart(0, "div", 91)(1, "div", 95);
|
|
242
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template_div_click_1_listener() { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.isaFieldInspectorExpanded = !ctx_r2.isaFieldInspectorExpanded); });
|
|
243
|
+
i0.ɵɵelement(2, "i", 96);
|
|
244
|
+
i0.ɵɵtext(3, " Field Source Inspector ");
|
|
245
|
+
i0.ɵɵelementEnd();
|
|
246
|
+
i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template, 3, 0, "div", 97);
|
|
247
|
+
i0.ɵɵelementEnd();
|
|
248
|
+
} if (rf & 2) {
|
|
249
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
250
|
+
i0.ɵɵadvance(2);
|
|
251
|
+
i0.ɵɵproperty("ngClass", ctx_r2.isaFieldInspectorExpanded ? "fa-chevron-down" : "fa-chevron-right");
|
|
252
|
+
i0.ɵɵadvance(2);
|
|
253
|
+
i0.ɵɵconditional(ctx_r2.isaFieldInspectorExpanded ? 4 : -1);
|
|
254
|
+
} }
|
|
255
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
256
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
257
|
+
i0.ɵɵelementStart(0, "span", 110);
|
|
258
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template_span_click_0_listener() { const sibling_r14 = i0.ɵɵrestoreView(_r13).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(sibling_r14)); });
|
|
259
|
+
i0.ɵɵelement(1, "i", 111);
|
|
260
|
+
i0.ɵɵtext(2);
|
|
261
|
+
i0.ɵɵelementEnd();
|
|
262
|
+
} if (rf & 2) {
|
|
263
|
+
const sibling_r14 = ctx.$implicit;
|
|
264
|
+
i0.ɵɵproperty("title", "Navigate to " + sibling_r14.Name);
|
|
265
|
+
i0.ɵɵadvance(2);
|
|
266
|
+
i0.ɵɵtextInterpolate1(" ", sibling_r14.Name, " ");
|
|
267
|
+
} }
|
|
268
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
269
|
+
i0.ɵɵelementStart(0, "div", 92)(1, "div", 87);
|
|
270
|
+
i0.ɵɵtext(2);
|
|
271
|
+
i0.ɵɵelementEnd();
|
|
272
|
+
i0.ɵɵelementStart(3, "div", 108);
|
|
273
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template, 3, 2, "span", 109, _forTrack0);
|
|
274
|
+
i0.ɵɵelementEnd()();
|
|
275
|
+
} if (rf & 2) {
|
|
276
|
+
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
277
|
+
i0.ɵɵadvance(2);
|
|
278
|
+
i0.ɵɵtextInterpolate1("Sibling Types (disjoint under ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, ")");
|
|
279
|
+
i0.ɵɵadvance(2);
|
|
280
|
+
i0.ɵɵrepeater(ctx_r2.SiblingEntities);
|
|
281
|
+
} }
|
|
282
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
283
|
+
i0.ɵɵelementStart(0, "div", 86)(1, "div", 87);
|
|
284
|
+
i0.ɵɵtext(2, "Inheritance Chain");
|
|
285
|
+
i0.ɵɵelementEnd();
|
|
286
|
+
i0.ɵɵelementStart(3, "div", 88)(4, "span", 89);
|
|
287
|
+
i0.ɵɵtext(5);
|
|
288
|
+
i0.ɵɵelementEnd();
|
|
289
|
+
i0.ɵɵrepeaterCreate(6, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template, 3, 2, null, null, _forTrack0);
|
|
290
|
+
i0.ɵɵelementEnd();
|
|
291
|
+
i0.ɵɵelementStart(8, "div", 90);
|
|
292
|
+
i0.ɵɵelement(9, "i", 55);
|
|
293
|
+
i0.ɵɵelementStart(10, "span");
|
|
294
|
+
i0.ɵɵtext(11);
|
|
295
|
+
i0.ɵɵelementEnd()()();
|
|
296
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template, 5, 2, "div", 91);
|
|
297
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template, 6, 1, "div", 92);
|
|
298
|
+
} if (rf & 2) {
|
|
299
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
300
|
+
i0.ɵɵadvance(5);
|
|
301
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.Name);
|
|
302
|
+
i0.ɵɵadvance();
|
|
303
|
+
i0.ɵɵrepeater(ctx_r2.ParentChain);
|
|
304
|
+
i0.ɵɵadvance(5);
|
|
305
|
+
i0.ɵɵtextInterpolate3("", ctx_r2.InheritedFieldCount, " field", ctx_r2.InheritedFieldCount !== 1 ? "s" : "", " inherited from parent", ctx_r2.ParentChain.length > 1 ? "s" : "");
|
|
306
|
+
i0.ɵɵadvance();
|
|
307
|
+
i0.ɵɵconditional(ctx_r2.isaFieldGroups.length > 1 ? 12 : -1);
|
|
308
|
+
i0.ɵɵadvance();
|
|
309
|
+
i0.ɵɵconditional(ctx_r2.SiblingEntities.length > 0 ? 13 : -1);
|
|
310
|
+
} }
|
|
311
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
312
|
+
i0.ɵɵelement(0, "i", 47);
|
|
313
|
+
} }
|
|
314
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
315
|
+
i0.ɵɵtext(0);
|
|
316
|
+
i0.ɵɵpipe(1, "number");
|
|
317
|
+
} if (rf & 2) {
|
|
318
|
+
const childCount_r16 = i0.ɵɵnextContext().$implicit;
|
|
319
|
+
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, childCount_r16.RecordCount), " ");
|
|
320
|
+
} }
|
|
321
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
322
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
323
|
+
i0.ɵɵelementStart(0, "span", 113);
|
|
324
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template_span_click_0_listener() { const childCount_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(childCount_r16.EntityInfo)); });
|
|
325
|
+
i0.ɵɵelement(1, "i", 114);
|
|
326
|
+
i0.ɵɵtext(2);
|
|
327
|
+
i0.ɵɵelementStart(3, "span", 115);
|
|
328
|
+
i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template, 1, 0, "i", 47)(5, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template, 2, 3);
|
|
329
|
+
i0.ɵɵelementEnd()();
|
|
330
|
+
} if (rf & 2) {
|
|
331
|
+
const childCount_r16 = ctx.$implicit;
|
|
332
|
+
i0.ɵɵproperty("title", "Navigate to " + childCount_r16.EntityName);
|
|
333
|
+
i0.ɵɵadvance(2);
|
|
334
|
+
i0.ɵɵtextInterpolate1(" ", childCount_r16.EntityName, " ");
|
|
335
|
+
i0.ɵɵadvance(2);
|
|
336
|
+
i0.ɵɵconditional(childCount_r16.IsLoading ? 4 : 5);
|
|
337
|
+
} }
|
|
338
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
339
|
+
i0.ɵɵelementStart(0, "div", 84)(1, "div", 87);
|
|
340
|
+
i0.ɵɵtext(2, "Child Types");
|
|
341
|
+
i0.ɵɵelementEnd();
|
|
342
|
+
i0.ɵɵelementStart(3, "div", 108);
|
|
343
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template, 6, 3, "span", 112, _forTrack1);
|
|
344
|
+
i0.ɵɵelementEnd()();
|
|
345
|
+
} if (rf & 2) {
|
|
346
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
347
|
+
i0.ɵɵadvance(4);
|
|
348
|
+
i0.ɵɵrepeater(ctx_r2.childEntityCounts);
|
|
349
|
+
} }
|
|
350
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template(rf, ctx) { if (rf & 1) {
|
|
351
|
+
i0.ɵɵelementStart(0, "div", 72)(1, "h3", 67);
|
|
352
|
+
i0.ɵɵelement(2, "i", 46);
|
|
353
|
+
i0.ɵɵtext(3, " Type Hierarchy ");
|
|
354
|
+
i0.ɵɵelementEnd();
|
|
355
|
+
i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template, 6, 1, "div", 83);
|
|
356
|
+
i0.ɵɵconditionalCreate(5, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template, 14, 6);
|
|
357
|
+
i0.ɵɵconditionalCreate(6, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template, 6, 0, "div", 84);
|
|
358
|
+
i0.ɵɵelementEnd();
|
|
359
|
+
} if (rf & 2) {
|
|
360
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
361
|
+
i0.ɵɵadvance(4);
|
|
362
|
+
i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 4 : -1);
|
|
363
|
+
i0.ɵɵadvance();
|
|
364
|
+
i0.ɵɵconditional(ctx_r2.IsChildType ? 5 : -1);
|
|
365
|
+
i0.ɵɵadvance();
|
|
366
|
+
i0.ɵɵconditional(ctx_r2.IsParentType ? 6 : -1);
|
|
367
|
+
} }
|
|
368
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template(rf, ctx) { if (rf & 1) {
|
|
369
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
|
|
121
370
|
i0.ɵɵtext(2, "SP Create");
|
|
122
371
|
i0.ɵɵelementEnd();
|
|
123
372
|
i0.ɵɵelementStart(3, "span", 81);
|
|
124
373
|
i0.ɵɵtext(4);
|
|
125
374
|
i0.ɵɵelementEnd()();
|
|
126
375
|
} if (rf & 2) {
|
|
127
|
-
const
|
|
376
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
128
377
|
i0.ɵɵadvance(4);
|
|
129
|
-
i0.ɵɵtextInterpolate(
|
|
378
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.spCreate);
|
|
130
379
|
} }
|
|
131
|
-
function
|
|
132
|
-
i0.ɵɵelementStart(0, "div",
|
|
380
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template(rf, ctx) { if (rf & 1) {
|
|
381
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
|
|
133
382
|
i0.ɵɵtext(2, "SP Update");
|
|
134
383
|
i0.ɵɵelementEnd();
|
|
135
384
|
i0.ɵɵelementStart(3, "span", 81);
|
|
136
385
|
i0.ɵɵtext(4);
|
|
137
386
|
i0.ɵɵelementEnd()();
|
|
138
387
|
} if (rf & 2) {
|
|
139
|
-
const
|
|
388
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
140
389
|
i0.ɵɵadvance(4);
|
|
141
|
-
i0.ɵɵtextInterpolate(
|
|
390
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.spUpdate);
|
|
142
391
|
} }
|
|
143
|
-
function
|
|
144
|
-
i0.ɵɵelementStart(0, "div",
|
|
392
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template(rf, ctx) { if (rf & 1) {
|
|
393
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
|
|
145
394
|
i0.ɵɵtext(2, "SP Delete");
|
|
146
395
|
i0.ɵɵelementEnd();
|
|
147
396
|
i0.ɵɵelementStart(3, "span", 81);
|
|
148
397
|
i0.ɵɵtext(4);
|
|
149
398
|
i0.ɵɵelementEnd()();
|
|
150
399
|
} if (rf & 2) {
|
|
151
|
-
const
|
|
400
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
152
401
|
i0.ɵɵadvance(4);
|
|
153
|
-
i0.ɵɵtextInterpolate(
|
|
402
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.spDelete);
|
|
154
403
|
} }
|
|
155
|
-
function
|
|
156
|
-
i0.ɵɵelementStart(0, "div",
|
|
404
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template(rf, ctx) { if (rf & 1) {
|
|
405
|
+
i0.ɵɵelementStart(0, "div", 76)(1, "span", 77);
|
|
157
406
|
i0.ɵɵtext(2, "Subclass");
|
|
158
407
|
i0.ɵɵelementEnd();
|
|
159
408
|
i0.ɵɵelementStart(3, "span", 81);
|
|
160
409
|
i0.ɵɵtext(4);
|
|
161
410
|
i0.ɵɵelementEnd()();
|
|
162
411
|
} if (rf & 2) {
|
|
163
|
-
const
|
|
412
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
164
413
|
i0.ɵɵadvance(4);
|
|
165
|
-
i0.ɵɵtextInterpolate(
|
|
414
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.EntityObjectSubclassName);
|
|
166
415
|
} }
|
|
167
|
-
function
|
|
168
|
-
const
|
|
169
|
-
i0.ɵɵelementStart(0, "section",
|
|
170
|
-
i0.ɵɵlistener("click", function
|
|
416
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, ctx) { if (rf & 1) {
|
|
417
|
+
const _r6 = i0.ɵɵgetCurrentView();
|
|
418
|
+
i0.ɵɵelementStart(0, "section", 30)(1, "div", 51)(2, "div", 52)(3, "div", 53);
|
|
419
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_3_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("fields")); });
|
|
171
420
|
i0.ɵɵelementStart(4, "div", 54);
|
|
172
421
|
i0.ɵɵelement(5, "i", 55);
|
|
173
422
|
i0.ɵɵelementStart(6, "span");
|
|
@@ -182,13 +431,13 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
|
|
|
182
431
|
i0.ɵɵelementStart(14, "span");
|
|
183
432
|
i0.ɵɵtext(15);
|
|
184
433
|
i0.ɵɵelementEnd();
|
|
185
|
-
i0.ɵɵ
|
|
434
|
+
i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template, 2, 1, "span");
|
|
186
435
|
i0.ɵɵelementEnd()();
|
|
187
436
|
i0.ɵɵelementStart(17, "div", 59);
|
|
188
437
|
i0.ɵɵelement(18, "i", 60);
|
|
189
438
|
i0.ɵɵelementEnd()();
|
|
190
439
|
i0.ɵɵelementStart(19, "div", 61);
|
|
191
|
-
i0.ɵɵlistener("click", function
|
|
440
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("relationships")); });
|
|
192
441
|
i0.ɵɵelementStart(20, "div", 54);
|
|
193
442
|
i0.ɵɵelement(21, "i", 62);
|
|
194
443
|
i0.ɵɵelementStart(22, "span");
|
|
@@ -207,7 +456,7 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
|
|
|
207
456
|
i0.ɵɵelement(33, "i", 60);
|
|
208
457
|
i0.ɵɵelementEnd()();
|
|
209
458
|
i0.ɵɵelementStart(34, "div", 63);
|
|
210
|
-
i0.ɵɵlistener("click", function
|
|
459
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_51_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.setActiveSection("permissions")); });
|
|
211
460
|
i0.ɵɵelementStart(35, "div", 54);
|
|
212
461
|
i0.ɵɵelement(36, "i", 64);
|
|
213
462
|
i0.ɵɵelementStart(37, "span");
|
|
@@ -223,7 +472,7 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
|
|
|
223
472
|
i0.ɵɵelement(46, "i", 60);
|
|
224
473
|
i0.ɵɵelementEnd()();
|
|
225
474
|
i0.ɵɵelementStart(47, "div", 65)(48, "div", 54);
|
|
226
|
-
i0.ɵɵelement(49, "i",
|
|
475
|
+
i0.ɵɵelement(49, "i", 24);
|
|
227
476
|
i0.ɵɵelementStart(50, "span");
|
|
228
477
|
i0.ɵɵtext(51, "Data");
|
|
229
478
|
i0.ɵɵelementEnd()();
|
|
@@ -231,821 +480,872 @@ function EntityFormComponentExtended_div_0_section_46_Template(rf, ctx) { if (rf
|
|
|
231
480
|
i0.ɵɵtext(54);
|
|
232
481
|
i0.ɵɵelementEnd();
|
|
233
482
|
i0.ɵɵelementStart(55, "div", 58);
|
|
234
|
-
i0.ɵɵ
|
|
483
|
+
i0.ɵɵconditionalCreate(56, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template, 3, 4, "span");
|
|
484
|
+
i0.ɵɵconditionalCreate(57, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template, 2, 0, "span");
|
|
235
485
|
i0.ɵɵelementEnd()()()();
|
|
236
486
|
i0.ɵɵelementStart(58, "div", 66)(59, "h3", 67);
|
|
237
487
|
i0.ɵɵelement(60, "i", 68);
|
|
238
488
|
i0.ɵɵtext(61, " Capabilities ");
|
|
239
489
|
i0.ɵɵelementEnd();
|
|
240
490
|
i0.ɵɵelementStart(62, "div", 69);
|
|
241
|
-
i0.ɵɵ
|
|
491
|
+
i0.ɵɵrepeaterCreate(63, EntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template, 3, 1, "span", 70, i0.ɵɵrepeaterTrackByIdentity);
|
|
492
|
+
i0.ɵɵconditionalCreate(65, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template, 3, 0, "span", 71);
|
|
242
493
|
i0.ɵɵelementEnd()();
|
|
243
|
-
i0.ɵɵ
|
|
244
|
-
i0.ɵɵ
|
|
245
|
-
i0.ɵɵ
|
|
494
|
+
i0.ɵɵconditionalCreate(66, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template, 7, 3, "div", 72);
|
|
495
|
+
i0.ɵɵelementStart(67, "div", 73)(68, "h3", 67);
|
|
496
|
+
i0.ɵɵelement(69, "i", 74);
|
|
497
|
+
i0.ɵɵtext(70, " Database ");
|
|
246
498
|
i0.ɵɵelementEnd();
|
|
247
|
-
i0.ɵɵelementStart(
|
|
248
|
-
i0.ɵɵtext(
|
|
499
|
+
i0.ɵɵelementStart(71, "div", 75)(72, "div", 76)(73, "span", 77);
|
|
500
|
+
i0.ɵɵtext(74, "Schema");
|
|
249
501
|
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵelementStart(
|
|
251
|
-
i0.ɵɵtext(
|
|
502
|
+
i0.ɵɵelementStart(75, "span", 78);
|
|
503
|
+
i0.ɵɵtext(76);
|
|
252
504
|
i0.ɵɵelementEnd()();
|
|
253
|
-
i0.ɵɵelementStart(
|
|
254
|
-
i0.ɵɵtext(
|
|
505
|
+
i0.ɵɵelementStart(77, "div", 76)(78, "span", 77);
|
|
506
|
+
i0.ɵɵtext(79, "Table");
|
|
255
507
|
i0.ɵɵelementEnd();
|
|
256
|
-
i0.ɵɵelementStart(
|
|
257
|
-
i0.ɵɵtext(
|
|
508
|
+
i0.ɵɵelementStart(80, "span", 78);
|
|
509
|
+
i0.ɵɵtext(81);
|
|
258
510
|
i0.ɵɵelementEnd()();
|
|
259
|
-
i0.ɵɵelementStart(
|
|
260
|
-
i0.ɵɵtext(
|
|
511
|
+
i0.ɵɵelementStart(82, "div", 76)(83, "span", 77);
|
|
512
|
+
i0.ɵɵtext(84, "View");
|
|
261
513
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(
|
|
263
|
-
i0.ɵɵtext(
|
|
514
|
+
i0.ɵɵelementStart(85, "span", 78);
|
|
515
|
+
i0.ɵɵtext(86);
|
|
264
516
|
i0.ɵɵelementEnd()();
|
|
265
|
-
i0.ɵɵelementStart(
|
|
266
|
-
i0.ɵɵtext(
|
|
517
|
+
i0.ɵɵelementStart(87, "div", 76)(88, "span", 77);
|
|
518
|
+
i0.ɵɵtext(89, "Delete Type");
|
|
267
519
|
i0.ɵɵelementEnd();
|
|
268
|
-
i0.ɵɵelementStart(
|
|
269
|
-
i0.ɵɵtext(
|
|
520
|
+
i0.ɵɵelementStart(90, "span", 78);
|
|
521
|
+
i0.ɵɵtext(91);
|
|
270
522
|
i0.ɵɵelementEnd()();
|
|
271
|
-
i0.ɵɵ
|
|
523
|
+
i0.ɵɵconditionalCreate(92, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template, 5, 1, "div", 76);
|
|
524
|
+
i0.ɵɵconditionalCreate(93, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template, 5, 1, "div", 76);
|
|
525
|
+
i0.ɵɵconditionalCreate(94, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template, 5, 1, "div", 76);
|
|
272
526
|
i0.ɵɵelementEnd()();
|
|
273
|
-
i0.ɵɵelementStart(
|
|
274
|
-
i0.ɵɵelement(
|
|
275
|
-
i0.ɵɵtext(
|
|
527
|
+
i0.ɵɵelementStart(95, "div", 79)(96, "h3", 67);
|
|
528
|
+
i0.ɵɵelement(97, "i", 80);
|
|
529
|
+
i0.ɵɵtext(98, " Code Generation ");
|
|
276
530
|
i0.ɵɵelementEnd();
|
|
277
|
-
i0.ɵɵelementStart(
|
|
278
|
-
i0.ɵɵtext(
|
|
531
|
+
i0.ɵɵelementStart(99, "div", 75)(100, "div", 76)(101, "span", 77);
|
|
532
|
+
i0.ɵɵtext(102, "Class Name");
|
|
279
533
|
i0.ɵɵelementEnd();
|
|
280
|
-
i0.ɵɵelementStart(
|
|
281
|
-
i0.ɵɵtext(
|
|
534
|
+
i0.ɵɵelementStart(103, "span", 81);
|
|
535
|
+
i0.ɵɵtext(104);
|
|
282
536
|
i0.ɵɵelementEnd()();
|
|
283
|
-
i0.ɵɵelementStart(
|
|
284
|
-
i0.ɵɵtext(
|
|
537
|
+
i0.ɵɵelementStart(105, "div", 76)(106, "span", 77);
|
|
538
|
+
i0.ɵɵtext(107, "Code Name");
|
|
285
539
|
i0.ɵɵelementEnd();
|
|
286
|
-
i0.ɵɵelementStart(
|
|
287
|
-
i0.ɵɵtext(
|
|
540
|
+
i0.ɵɵelementStart(108, "span", 81);
|
|
541
|
+
i0.ɵɵtext(109);
|
|
288
542
|
i0.ɵɵelementEnd()();
|
|
289
|
-
i0.ɵɵ
|
|
543
|
+
i0.ɵɵconditionalCreate(110, EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template, 5, 1, "div", 76);
|
|
290
544
|
i0.ɵɵelementEnd()()()();
|
|
291
545
|
} if (rf & 2) {
|
|
292
|
-
const
|
|
546
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
293
547
|
i0.ɵɵadvance(10);
|
|
294
|
-
i0.ɵɵtextInterpolate(
|
|
548
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.fieldCount);
|
|
295
549
|
i0.ɵɵadvance(3);
|
|
296
|
-
i0.ɵɵtextInterpolate1("",
|
|
550
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.stats.primaryKeyCount, " PKs");
|
|
297
551
|
i0.ɵɵadvance(2);
|
|
298
|
-
i0.ɵɵtextInterpolate1("",
|
|
552
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.stats.foreignKeyCount, " FKs");
|
|
299
553
|
i0.ɵɵadvance();
|
|
300
|
-
i0.ɵɵ
|
|
554
|
+
i0.ɵɵconditional(ctx_r2.stats.encryptedFieldCount ? 16 : -1);
|
|
301
555
|
i0.ɵɵadvance(10);
|
|
302
|
-
i0.ɵɵtextInterpolate(
|
|
556
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.relationshipCount);
|
|
303
557
|
i0.ɵɵadvance(3);
|
|
304
|
-
i0.ɵɵtextInterpolate1("",
|
|
558
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.groupedOutgoingRelationships.length, " Out");
|
|
305
559
|
i0.ɵɵadvance(2);
|
|
306
|
-
i0.ɵɵtextInterpolate1("",
|
|
560
|
+
i0.ɵɵtextInterpolate1("", ctx_r2.groupedIncomingRelationships.length, " In");
|
|
307
561
|
i0.ɵɵadvance(10);
|
|
308
|
-
i0.ɵɵtextInterpolate(
|
|
562
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.permissionCount);
|
|
309
563
|
i0.ɵɵadvance(13);
|
|
310
|
-
i0.ɵɵtextInterpolate(
|
|
564
|
+
i0.ɵɵtextInterpolate(ctx_r2.formattedRowCount);
|
|
311
565
|
i0.ɵɵadvance(2);
|
|
312
|
-
i0.ɵɵ
|
|
566
|
+
i0.ɵɵconditional(ctx_r2.entity.RowCountRunAt ? 56 : -1);
|
|
313
567
|
i0.ɵɵadvance();
|
|
314
|
-
i0.ɵɵ
|
|
568
|
+
i0.ɵɵconditional(!ctx_r2.entity.RowCountRunAt ? 57 : -1);
|
|
315
569
|
i0.ɵɵadvance(6);
|
|
316
|
-
i0.ɵɵ
|
|
570
|
+
i0.ɵɵrepeater(ctx_r2.capabilitySummary);
|
|
571
|
+
i0.ɵɵadvance(2);
|
|
572
|
+
i0.ɵɵconditional(!ctx_r2.entity.IncludeInAPI ? 65 : -1);
|
|
317
573
|
i0.ɵɵadvance();
|
|
318
|
-
i0.ɵɵ
|
|
574
|
+
i0.ɵɵconditional(ctx_r2.HasISARelationship || ctx_r2.IsVirtualEntity ? 66 : -1);
|
|
319
575
|
i0.ɵɵadvance(10);
|
|
320
|
-
i0.ɵɵtextInterpolate(
|
|
576
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.SchemaName);
|
|
321
577
|
i0.ɵɵadvance(5);
|
|
322
|
-
i0.ɵɵtextInterpolate(
|
|
578
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.BaseTable);
|
|
323
579
|
i0.ɵɵadvance(5);
|
|
324
|
-
i0.ɵɵtextInterpolate(
|
|
580
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.BaseView);
|
|
325
581
|
i0.ɵɵadvance(5);
|
|
326
|
-
i0.ɵɵtextInterpolate(
|
|
582
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.DeleteType);
|
|
327
583
|
i0.ɵɵadvance();
|
|
328
|
-
i0.ɵɵ
|
|
584
|
+
i0.ɵɵconditional(ctx_r2.entity.spCreate ? 92 : -1);
|
|
329
585
|
i0.ɵɵadvance();
|
|
330
|
-
i0.ɵɵ
|
|
586
|
+
i0.ɵɵconditional(ctx_r2.entity.spUpdate ? 93 : -1);
|
|
331
587
|
i0.ɵɵadvance();
|
|
332
|
-
i0.ɵɵ
|
|
588
|
+
i0.ɵɵconditional(ctx_r2.entity.spDelete ? 94 : -1);
|
|
333
589
|
i0.ɵɵadvance(10);
|
|
334
|
-
i0.ɵɵtextInterpolate(
|
|
590
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.ClassName);
|
|
335
591
|
i0.ɵɵadvance(5);
|
|
336
|
-
i0.ɵɵtextInterpolate(
|
|
592
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.CodeName);
|
|
337
593
|
i0.ɵɵadvance();
|
|
338
|
-
i0.ɵɵ
|
|
594
|
+
i0.ɵɵconditional(ctx_r2.entity.EntityObjectSubclassName ? 110 : -1);
|
|
339
595
|
} }
|
|
340
|
-
function
|
|
341
|
-
const
|
|
342
|
-
i0.ɵɵelementStart(0, "div",
|
|
343
|
-
i0.ɵɵlistener("click", function
|
|
344
|
-
i0.ɵɵelement(2, "i",
|
|
596
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
597
|
+
const _r18 = i0.ɵɵgetCurrentView();
|
|
598
|
+
i0.ɵɵelementStart(0, "div", 125)(1, "button", 129);
|
|
599
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.expandAllFieldGroups()); });
|
|
600
|
+
i0.ɵɵelement(2, "i", 130);
|
|
345
601
|
i0.ɵɵelementEnd();
|
|
346
|
-
i0.ɵɵelementStart(3, "button",
|
|
347
|
-
i0.ɵɵlistener("click", function
|
|
348
|
-
i0.ɵɵelement(4, "i",
|
|
602
|
+
i0.ɵɵelementStart(3, "button", 131);
|
|
603
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r18); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.collapseAllFieldGroups()); });
|
|
604
|
+
i0.ɵɵelement(4, "i", 132);
|
|
349
605
|
i0.ɵɵelementEnd()();
|
|
350
606
|
} if (rf & 2) {
|
|
351
|
-
const
|
|
607
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
352
608
|
i0.ɵɵadvance();
|
|
353
|
-
i0.ɵɵproperty("disabled",
|
|
609
|
+
i0.ɵɵproperty("disabled", ctx_r2.allFieldGroupsExpanded);
|
|
354
610
|
i0.ɵɵadvance(2);
|
|
355
|
-
i0.ɵɵproperty("disabled",
|
|
611
|
+
i0.ɵɵproperty("disabled", ctx_r2.allFieldGroupsCollapsed);
|
|
356
612
|
} }
|
|
357
|
-
function
|
|
358
|
-
i0.ɵɵelementStart(0, "span",
|
|
613
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
614
|
+
i0.ɵɵelementStart(0, "span", 148);
|
|
359
615
|
i0.ɵɵtext(1, "Required");
|
|
360
616
|
i0.ɵɵelementEnd();
|
|
361
617
|
} }
|
|
362
|
-
function
|
|
363
|
-
const
|
|
364
|
-
i0.ɵɵelementStart(0, "span",
|
|
365
|
-
i0.ɵɵlistener("click", function
|
|
618
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
619
|
+
const _r23 = i0.ɵɵgetCurrentView();
|
|
620
|
+
i0.ɵɵelementStart(0, "span", 155);
|
|
621
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template_span_click_0_listener($event) { i0.ɵɵrestoreView(_r23); const field_r22 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(6); ctx_r2.navigateToRelatedEntity(field_r22); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
366
622
|
i0.ɵɵelement(1, "i", 60);
|
|
367
623
|
i0.ɵɵtext(2);
|
|
368
624
|
i0.ɵɵelementEnd();
|
|
369
625
|
} if (rf & 2) {
|
|
370
|
-
const
|
|
371
|
-
const
|
|
626
|
+
const field_r22 = i0.ɵɵnextContext().$implicit;
|
|
627
|
+
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
372
628
|
i0.ɵɵadvance(2);
|
|
373
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
629
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getRelatedEntityName(field_r22), " ");
|
|
374
630
|
} }
|
|
375
|
-
function
|
|
376
|
-
i0.ɵɵelementStart(0, "span",
|
|
631
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
632
|
+
i0.ɵɵelementStart(0, "span", 151);
|
|
377
633
|
i0.ɵɵtext(1, "PK");
|
|
378
634
|
i0.ɵɵelementEnd();
|
|
379
635
|
} }
|
|
380
|
-
function
|
|
381
|
-
i0.ɵɵelementStart(0, "span",
|
|
636
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
637
|
+
i0.ɵɵelementStart(0, "span", 152);
|
|
382
638
|
i0.ɵɵtext(1, "FK");
|
|
383
639
|
i0.ɵɵelementEnd();
|
|
384
640
|
} }
|
|
385
|
-
function
|
|
386
|
-
i0.ɵɵelementStart(0, "span",
|
|
641
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
642
|
+
i0.ɵɵelementStart(0, "span", 153);
|
|
387
643
|
i0.ɵɵelement(1, "i", 64);
|
|
388
644
|
i0.ɵɵelementEnd();
|
|
389
645
|
} }
|
|
390
|
-
function
|
|
391
|
-
|
|
392
|
-
i0.ɵɵ
|
|
393
|
-
i0.ɵɵ
|
|
394
|
-
i0.ɵɵ
|
|
646
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
647
|
+
i0.ɵɵelementStart(0, "span", 154);
|
|
648
|
+
i0.ɵɵelement(1, "i", 44);
|
|
649
|
+
i0.ɵɵtext(2);
|
|
650
|
+
i0.ɵɵelementEnd();
|
|
651
|
+
} if (rf & 2) {
|
|
652
|
+
const field_r22 = i0.ɵɵnextContext().$implicit;
|
|
653
|
+
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
654
|
+
i0.ɵɵproperty("title", "Inherited from " + ctx_r2.GetISAFieldSource(field_r22));
|
|
655
|
+
i0.ɵɵadvance(2);
|
|
656
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r22), " ");
|
|
657
|
+
} }
|
|
658
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
659
|
+
const _r21 = i0.ɵɵgetCurrentView();
|
|
660
|
+
i0.ɵɵelementStart(0, "div", 142);
|
|
661
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template_div_click_0_listener() { const field_r22 = i0.ɵɵrestoreView(_r21).$implicit; const ctx_r2 = i0.ɵɵnextContext(6); return i0.ɵɵresetView(ctx_r2.selectField(field_r22)); });
|
|
662
|
+
i0.ɵɵelementStart(1, "div", 143);
|
|
395
663
|
i0.ɵɵelement(2, "i");
|
|
396
664
|
i0.ɵɵelementEnd();
|
|
397
|
-
i0.ɵɵelementStart(3, "div",
|
|
665
|
+
i0.ɵɵelementStart(3, "div", 144)(4, "div", 145);
|
|
398
666
|
i0.ɵɵtext(5);
|
|
399
667
|
i0.ɵɵelementEnd();
|
|
400
|
-
i0.ɵɵelementStart(6, "div",
|
|
668
|
+
i0.ɵɵelementStart(6, "div", 146)(7, "span", 147);
|
|
401
669
|
i0.ɵɵtext(8);
|
|
402
670
|
i0.ɵɵelementEnd();
|
|
403
|
-
i0.ɵɵ
|
|
671
|
+
i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template, 2, 0, "span", 148);
|
|
672
|
+
i0.ɵɵconditionalCreate(10, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template, 3, 1, "span", 149);
|
|
404
673
|
i0.ɵɵelementEnd()();
|
|
405
|
-
i0.ɵɵelementStart(11, "div",
|
|
406
|
-
i0.ɵɵ
|
|
674
|
+
i0.ɵɵelementStart(11, "div", 150);
|
|
675
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template, 2, 0, "span", 151);
|
|
676
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template, 2, 0, "span", 152);
|
|
677
|
+
i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template, 2, 0, "span", 153);
|
|
678
|
+
i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template, 3, 2, "span", 154);
|
|
407
679
|
i0.ɵɵelementEnd()();
|
|
408
680
|
} if (rf & 2) {
|
|
409
|
-
const
|
|
410
|
-
const
|
|
411
|
-
i0.ɵɵclassProp("selected", (
|
|
681
|
+
const field_r22 = ctx.$implicit;
|
|
682
|
+
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
683
|
+
i0.ɵɵclassProp("selected", (ctx_r2.selectedField == null ? null : ctx_r2.selectedField.ID) === field_r22.ID);
|
|
412
684
|
i0.ɵɵadvance(2);
|
|
413
|
-
i0.ɵɵclassMap(
|
|
685
|
+
i0.ɵɵclassMap(ctx_r2.getFieldTypeIcon(field_r22));
|
|
414
686
|
i0.ɵɵadvance(3);
|
|
415
|
-
i0.ɵɵtextInterpolate(
|
|
687
|
+
i0.ɵɵtextInterpolate(field_r22.DisplayName || field_r22.Name);
|
|
416
688
|
i0.ɵɵadvance(3);
|
|
417
|
-
i0.ɵɵtextInterpolate(
|
|
689
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatFieldType(field_r22));
|
|
418
690
|
i0.ɵɵadvance();
|
|
419
|
-
i0.ɵɵ
|
|
691
|
+
i0.ɵɵconditional(!field_r22.AllowsNull ? 9 : -1);
|
|
420
692
|
i0.ɵɵadvance();
|
|
421
|
-
i0.ɵɵ
|
|
693
|
+
i0.ɵɵconditional(field_r22.RelatedEntityID ? 10 : -1);
|
|
422
694
|
i0.ɵɵadvance(2);
|
|
423
|
-
i0.ɵɵ
|
|
695
|
+
i0.ɵɵconditional(field_r22.IsPrimaryKey ? 12 : -1);
|
|
424
696
|
i0.ɵɵadvance();
|
|
425
|
-
i0.ɵɵ
|
|
697
|
+
i0.ɵɵconditional(field_r22.RelatedEntityID && !field_r22.IsPrimaryKey ? 13 : -1);
|
|
426
698
|
i0.ɵɵadvance();
|
|
427
|
-
i0.ɵɵ
|
|
699
|
+
i0.ɵɵconditional(field_r22.Encrypt ? 14 : -1);
|
|
700
|
+
i0.ɵɵadvance();
|
|
701
|
+
i0.ɵɵconditional(ctx_r2.IsInheritedField(field_r22) ? 15 : -1);
|
|
428
702
|
} }
|
|
429
|
-
function
|
|
430
|
-
i0.ɵɵelementStart(0, "div",
|
|
431
|
-
i0.ɵɵ
|
|
703
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
704
|
+
i0.ɵɵelementStart(0, "div", 140);
|
|
705
|
+
i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template, 16, 12, "div", 141, i0.ɵɵrepeaterTrackByIdentity);
|
|
432
706
|
i0.ɵɵelementEnd();
|
|
433
707
|
} if (rf & 2) {
|
|
434
|
-
const
|
|
708
|
+
const group_r20 = i0.ɵɵnextContext().$implicit;
|
|
435
709
|
i0.ɵɵadvance();
|
|
436
|
-
i0.ɵɵ
|
|
710
|
+
i0.ɵɵrepeater(group_r20.fields);
|
|
437
711
|
} }
|
|
438
|
-
function
|
|
439
|
-
const
|
|
440
|
-
i0.ɵɵelementStart(0, "div",
|
|
441
|
-
i0.ɵɵlistener("click", function
|
|
442
|
-
i0.ɵɵelement(2, "i",
|
|
443
|
-
i0.ɵɵelementStart(4, "span",
|
|
712
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
713
|
+
const _r19 = i0.ɵɵgetCurrentView();
|
|
714
|
+
i0.ɵɵelementStart(0, "div", 134)(1, "div", 135);
|
|
715
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template_div_click_1_listener() { const group_r20 = i0.ɵɵrestoreView(_r19).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.toggleFieldGroup(group_r20.id)); });
|
|
716
|
+
i0.ɵɵelement(2, "i", 136)(3, "i", 137);
|
|
717
|
+
i0.ɵɵelementStart(4, "span", 138);
|
|
444
718
|
i0.ɵɵtext(5);
|
|
445
719
|
i0.ɵɵelementEnd();
|
|
446
|
-
i0.ɵɵelementStart(6, "span",
|
|
720
|
+
i0.ɵɵelementStart(6, "span", 139);
|
|
447
721
|
i0.ɵɵtext(7);
|
|
448
722
|
i0.ɵɵelementEnd()();
|
|
449
|
-
i0.ɵɵ
|
|
723
|
+
i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template, 3, 0, "div", 140);
|
|
450
724
|
i0.ɵɵelementEnd();
|
|
451
725
|
} if (rf & 2) {
|
|
452
|
-
const
|
|
453
|
-
const
|
|
454
|
-
i0.ɵɵclassProp("expanded",
|
|
726
|
+
const group_r20 = ctx.$implicit;
|
|
727
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
728
|
+
i0.ɵɵclassProp("expanded", ctx_r2.isFieldGroupExpanded(group_r20.id));
|
|
455
729
|
i0.ɵɵadvance(2);
|
|
456
|
-
i0.ɵɵproperty("ngClass",
|
|
730
|
+
i0.ɵɵproperty("ngClass", ctx_r2.isFieldGroupExpanded(group_r20.id) ? "fa-chevron-down" : "fa-chevron-right");
|
|
457
731
|
i0.ɵɵadvance();
|
|
458
|
-
i0.ɵɵclassMap(
|
|
732
|
+
i0.ɵɵclassMap(group_r20.icon);
|
|
459
733
|
i0.ɵɵadvance(2);
|
|
460
|
-
i0.ɵɵtextInterpolate(
|
|
734
|
+
i0.ɵɵtextInterpolate(group_r20.label);
|
|
461
735
|
i0.ɵɵadvance(2);
|
|
462
|
-
i0.ɵɵtextInterpolate(
|
|
736
|
+
i0.ɵɵtextInterpolate(group_r20.fields.length);
|
|
463
737
|
i0.ɵɵadvance();
|
|
464
|
-
i0.ɵɵ
|
|
738
|
+
i0.ɵɵconditional(ctx_r2.isFieldGroupExpanded(group_r20.id) ? 8 : -1);
|
|
465
739
|
} }
|
|
466
|
-
function
|
|
467
|
-
i0.ɵɵelementStart(0, "div",
|
|
468
|
-
i0.ɵɵ
|
|
740
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
741
|
+
i0.ɵɵelementStart(0, "div", 127);
|
|
742
|
+
i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template, 9, 8, "div", 133, i0.ɵɵrepeaterTrackByIdentity);
|
|
469
743
|
i0.ɵɵelementEnd();
|
|
470
744
|
} if (rf & 2) {
|
|
471
|
-
const
|
|
745
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
472
746
|
i0.ɵɵadvance();
|
|
473
|
-
i0.ɵɵ
|
|
747
|
+
i0.ɵɵrepeater(ctx_r2.getFilteredFieldGroups());
|
|
474
748
|
} }
|
|
475
|
-
function
|
|
476
|
-
i0.ɵɵelementStart(0, "span",
|
|
749
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
750
|
+
i0.ɵɵelementStart(0, "span", 177);
|
|
477
751
|
i0.ɵɵtext(1);
|
|
478
752
|
i0.ɵɵelementEnd();
|
|
479
753
|
} if (rf & 2) {
|
|
480
|
-
const
|
|
754
|
+
const field_r26 = i0.ɵɵnextContext().$implicit;
|
|
481
755
|
i0.ɵɵadvance();
|
|
482
|
-
i0.ɵɵtextInterpolate(
|
|
756
|
+
i0.ɵɵtextInterpolate(field_r26.Length);
|
|
483
757
|
} }
|
|
484
|
-
function
|
|
485
|
-
i0.ɵɵelementStart(0, "span",
|
|
758
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
759
|
+
i0.ɵɵelementStart(0, "span", 178);
|
|
486
760
|
i0.ɵɵtext(1, "\u2014");
|
|
487
761
|
i0.ɵɵelementEnd();
|
|
488
762
|
} }
|
|
489
|
-
function
|
|
490
|
-
i0.ɵɵelementStart(0, "span",
|
|
491
|
-
i0.ɵɵelement(1, "i",
|
|
763
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
764
|
+
i0.ɵɵelementStart(0, "span", 182);
|
|
765
|
+
i0.ɵɵelement(1, "i", 188);
|
|
492
766
|
i0.ɵɵtext(2, " PK ");
|
|
493
767
|
i0.ɵɵelementEnd();
|
|
494
768
|
} }
|
|
495
|
-
function
|
|
496
|
-
i0.ɵɵelementStart(0, "span",
|
|
497
|
-
i0.ɵɵelement(1, "i",
|
|
769
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
770
|
+
i0.ɵɵelementStart(0, "span", 183);
|
|
771
|
+
i0.ɵɵelement(1, "i", 21);
|
|
498
772
|
i0.ɵɵtext(2, " FK ");
|
|
499
773
|
i0.ɵɵelementEnd();
|
|
500
774
|
} }
|
|
501
|
-
function
|
|
502
|
-
i0.ɵɵelementStart(0, "span",
|
|
775
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
776
|
+
i0.ɵɵelementStart(0, "span", 184);
|
|
503
777
|
i0.ɵɵelement(1, "i", 64);
|
|
504
778
|
i0.ɵɵelementEnd();
|
|
505
779
|
} }
|
|
506
|
-
function
|
|
507
|
-
|
|
508
|
-
i0.ɵɵ
|
|
509
|
-
i0.ɵɵ
|
|
510
|
-
i0.ɵɵ
|
|
780
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
781
|
+
i0.ɵɵelementStart(0, "span", 185);
|
|
782
|
+
i0.ɵɵelement(1, "i", 44);
|
|
783
|
+
i0.ɵɵtext(2);
|
|
784
|
+
i0.ɵɵelementEnd();
|
|
785
|
+
} if (rf & 2) {
|
|
786
|
+
const field_r26 = i0.ɵɵnextContext().$implicit;
|
|
787
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
788
|
+
i0.ɵɵproperty("title", "Inherited from " + ctx_r2.GetISAFieldSource(field_r26));
|
|
789
|
+
i0.ɵɵadvance(2);
|
|
790
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r26), " ");
|
|
791
|
+
} }
|
|
792
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
793
|
+
const _r25 = i0.ɵɵgetCurrentView();
|
|
794
|
+
i0.ɵɵelementStart(0, "div", 168);
|
|
795
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template_div_click_0_listener() { const field_r26 = i0.ɵɵrestoreView(_r25).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.selectField(field_r26)); });
|
|
796
|
+
i0.ɵɵelementStart(1, "div", 169)(2, "span", 170);
|
|
511
797
|
i0.ɵɵtext(3);
|
|
512
798
|
i0.ɵɵelementEnd()();
|
|
513
|
-
i0.ɵɵelementStart(4, "div",
|
|
514
|
-
i0.ɵɵelement(5, "i",
|
|
515
|
-
i0.ɵɵelementStart(6, "span",
|
|
799
|
+
i0.ɵɵelementStart(4, "div", 171);
|
|
800
|
+
i0.ɵɵelement(5, "i", 172);
|
|
801
|
+
i0.ɵɵelementStart(6, "span", 173);
|
|
516
802
|
i0.ɵɵtext(7);
|
|
517
803
|
i0.ɵɵelementEnd()();
|
|
518
|
-
i0.ɵɵelementStart(8, "div",
|
|
804
|
+
i0.ɵɵelementStart(8, "div", 174)(9, "span", 175);
|
|
519
805
|
i0.ɵɵtext(10);
|
|
520
806
|
i0.ɵɵelementEnd()();
|
|
521
|
-
i0.ɵɵelementStart(11, "div",
|
|
522
|
-
i0.ɵɵ
|
|
807
|
+
i0.ɵɵelementStart(11, "div", 176);
|
|
808
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template, 2, 1, "span", 177);
|
|
809
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template, 2, 0, "span", 178);
|
|
523
810
|
i0.ɵɵelementEnd();
|
|
524
|
-
i0.ɵɵelementStart(14, "div",
|
|
811
|
+
i0.ɵɵelementStart(14, "div", 179)(15, "span", 180);
|
|
525
812
|
i0.ɵɵelement(16, "i");
|
|
526
813
|
i0.ɵɵtext(17);
|
|
527
814
|
i0.ɵɵelementEnd()();
|
|
528
|
-
i0.ɵɵelementStart(18, "div",
|
|
529
|
-
i0.ɵɵ
|
|
815
|
+
i0.ɵɵelementStart(18, "div", 163)(19, "div", 181);
|
|
816
|
+
i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template, 3, 0, "span", 182);
|
|
817
|
+
i0.ɵɵconditionalCreate(21, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template, 3, 0, "span", 183);
|
|
818
|
+
i0.ɵɵconditionalCreate(22, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template, 2, 0, "span", 184);
|
|
819
|
+
i0.ɵɵconditionalCreate(23, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template, 3, 2, "span", 185);
|
|
530
820
|
i0.ɵɵelementEnd()();
|
|
531
|
-
i0.ɵɵelementStart(
|
|
532
|
-
i0.ɵɵtext(
|
|
821
|
+
i0.ɵɵelementStart(24, "div", 186)(25, "span", 187);
|
|
822
|
+
i0.ɵɵtext(26);
|
|
533
823
|
i0.ɵɵelementEnd()()();
|
|
534
824
|
} if (rf & 2) {
|
|
535
|
-
const
|
|
536
|
-
const
|
|
537
|
-
i0.ɵɵclassProp("selected", (
|
|
825
|
+
const field_r26 = ctx.$implicit;
|
|
826
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
827
|
+
i0.ɵɵclassProp("selected", (ctx_r2.selectedField == null ? null : ctx_r2.selectedField.ID) === field_r26.ID);
|
|
538
828
|
i0.ɵɵadvance(3);
|
|
539
|
-
i0.ɵɵtextInterpolate(
|
|
829
|
+
i0.ɵɵtextInterpolate(field_r26.Sequence);
|
|
540
830
|
i0.ɵɵadvance(2);
|
|
541
|
-
i0.ɵɵclassMap(
|
|
831
|
+
i0.ɵɵclassMap(ctx_r2.getFieldTypeIcon(field_r26));
|
|
542
832
|
i0.ɵɵadvance(2);
|
|
543
|
-
i0.ɵɵtextInterpolate(
|
|
833
|
+
i0.ɵɵtextInterpolate(field_r26.DisplayName || field_r26.Name);
|
|
544
834
|
i0.ɵɵadvance(3);
|
|
545
|
-
i0.ɵɵtextInterpolate(
|
|
835
|
+
i0.ɵɵtextInterpolate(field_r26.Type);
|
|
546
836
|
i0.ɵɵadvance(2);
|
|
547
|
-
i0.ɵɵ
|
|
837
|
+
i0.ɵɵconditional(field_r26.Length > 0 ? 12 : -1);
|
|
548
838
|
i0.ɵɵadvance();
|
|
549
|
-
i0.ɵɵ
|
|
839
|
+
i0.ɵɵconditional(field_r26.Length <= 0 ? 13 : -1);
|
|
550
840
|
i0.ɵɵadvance(2);
|
|
551
|
-
i0.ɵɵclassProp("required", !
|
|
841
|
+
i0.ɵɵclassProp("required", !field_r26.AllowsNull)("optional", field_r26.AllowsNull);
|
|
552
842
|
i0.ɵɵadvance();
|
|
553
|
-
i0.ɵɵclassMap(
|
|
843
|
+
i0.ɵɵclassMap(field_r26.AllowsNull ? "fa-solid fa-circle-minus" : "fa-solid fa-circle-check");
|
|
554
844
|
i0.ɵɵadvance();
|
|
555
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
845
|
+
i0.ɵɵtextInterpolate1(" ", field_r26.AllowsNull ? "Optional" : "Required", " ");
|
|
556
846
|
i0.ɵɵadvance(3);
|
|
557
|
-
i0.ɵɵ
|
|
847
|
+
i0.ɵɵconditional(field_r26.IsPrimaryKey ? 20 : -1);
|
|
558
848
|
i0.ɵɵadvance();
|
|
559
|
-
i0.ɵɵ
|
|
849
|
+
i0.ɵɵconditional(field_r26.RelatedEntityID && !field_r26.IsPrimaryKey ? 21 : -1);
|
|
560
850
|
i0.ɵɵadvance();
|
|
561
|
-
i0.ɵɵ
|
|
851
|
+
i0.ɵɵconditional(field_r26.Encrypt ? 22 : -1);
|
|
852
|
+
i0.ɵɵadvance();
|
|
853
|
+
i0.ɵɵconditional(ctx_r2.IsInheritedField(field_r26) ? 23 : -1);
|
|
562
854
|
i0.ɵɵadvance(2);
|
|
563
|
-
i0.ɵɵproperty("title",
|
|
855
|
+
i0.ɵɵproperty("title", field_r26.Description || "");
|
|
564
856
|
i0.ɵɵadvance();
|
|
565
|
-
i0.ɵɵtextInterpolate(
|
|
857
|
+
i0.ɵɵtextInterpolate(field_r26.Description || "\u2014");
|
|
566
858
|
} }
|
|
567
|
-
function
|
|
568
|
-
i0.ɵɵelementStart(0, "div",
|
|
569
|
-
i0.ɵɵelement(1, "i",
|
|
859
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
860
|
+
i0.ɵɵelementStart(0, "div", 167);
|
|
861
|
+
i0.ɵɵelement(1, "i", 118);
|
|
570
862
|
i0.ɵɵelementStart(2, "span");
|
|
571
863
|
i0.ɵɵtext(3, "No fields match your search");
|
|
572
864
|
i0.ɵɵelementEnd()();
|
|
573
865
|
} }
|
|
574
|
-
function
|
|
575
|
-
const
|
|
576
|
-
i0.ɵɵelementStart(0, "div",
|
|
577
|
-
i0.ɵɵlistener("click", function
|
|
866
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
867
|
+
const _r24 = i0.ɵɵgetCurrentView();
|
|
868
|
+
i0.ɵɵelementStart(0, "div", 128)(1, "div", 156)(2, "div", 157);
|
|
869
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_2_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Sequence")); });
|
|
578
870
|
i0.ɵɵtext(3, " # ");
|
|
579
|
-
i0.ɵɵelement(4, "i",
|
|
871
|
+
i0.ɵɵelement(4, "i", 158);
|
|
580
872
|
i0.ɵɵelementEnd();
|
|
581
|
-
i0.ɵɵelementStart(5, "div",
|
|
582
|
-
i0.ɵɵlistener("click", function
|
|
873
|
+
i0.ɵɵelementStart(5, "div", 159);
|
|
874
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_5_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Name")); });
|
|
583
875
|
i0.ɵɵtext(6, " Field Name ");
|
|
584
|
-
i0.ɵɵelement(7, "i",
|
|
876
|
+
i0.ɵɵelement(7, "i", 158);
|
|
585
877
|
i0.ɵɵelementEnd();
|
|
586
|
-
i0.ɵɵelementStart(8, "div",
|
|
587
|
-
i0.ɵɵlistener("click", function
|
|
878
|
+
i0.ɵɵelementStart(8, "div", 160);
|
|
879
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_8_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Type")); });
|
|
588
880
|
i0.ɵɵtext(9, " Type ");
|
|
589
|
-
i0.ɵɵelement(10, "i",
|
|
881
|
+
i0.ɵɵelement(10, "i", 158);
|
|
590
882
|
i0.ɵɵelementEnd();
|
|
591
|
-
i0.ɵɵelementStart(11, "div",
|
|
592
|
-
i0.ɵɵlistener("click", function
|
|
883
|
+
i0.ɵɵelementStart(11, "div", 161);
|
|
884
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_11_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Length")); });
|
|
593
885
|
i0.ɵɵtext(12, " Length ");
|
|
594
|
-
i0.ɵɵelement(13, "i",
|
|
886
|
+
i0.ɵɵelement(13, "i", 158);
|
|
595
887
|
i0.ɵɵelementEnd();
|
|
596
|
-
i0.ɵɵelementStart(14, "div",
|
|
597
|
-
i0.ɵɵlistener("click", function
|
|
888
|
+
i0.ɵɵelementStart(14, "div", 162);
|
|
889
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_14_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("AllowsNull")); });
|
|
598
890
|
i0.ɵɵtext(15, " Required ");
|
|
599
|
-
i0.ɵɵelement(16, "i",
|
|
891
|
+
i0.ɵɵelement(16, "i", 158);
|
|
600
892
|
i0.ɵɵelementEnd();
|
|
601
|
-
i0.ɵɵelementStart(17, "div",
|
|
893
|
+
i0.ɵɵelementStart(17, "div", 163);
|
|
602
894
|
i0.ɵɵtext(18, "Flags");
|
|
603
895
|
i0.ɵɵelementEnd();
|
|
604
|
-
i0.ɵɵelementStart(19, "div",
|
|
605
|
-
i0.ɵɵlistener("click", function
|
|
896
|
+
i0.ɵɵelementStart(19, "div", 164);
|
|
897
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template_div_click_19_listener() { i0.ɵɵrestoreView(_r24); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.sortFieldList("Description")); });
|
|
606
898
|
i0.ɵɵtext(20, " Description ");
|
|
607
|
-
i0.ɵɵelement(21, "i",
|
|
899
|
+
i0.ɵɵelement(21, "i", 158);
|
|
608
900
|
i0.ɵɵelementEnd()();
|
|
609
|
-
i0.ɵɵelementStart(22, "div",
|
|
610
|
-
i0.ɵɵ
|
|
901
|
+
i0.ɵɵelementStart(22, "div", 165);
|
|
902
|
+
i0.ɵɵrepeaterCreate(23, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template, 27, 22, "div", 166, i0.ɵɵrepeaterTrackByIdentity);
|
|
611
903
|
i0.ɵɵelementEnd();
|
|
612
|
-
i0.ɵɵ
|
|
904
|
+
i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template, 4, 0, "div", 167);
|
|
613
905
|
i0.ɵɵelementEnd();
|
|
614
906
|
} if (rf & 2) {
|
|
615
|
-
const
|
|
907
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
616
908
|
i0.ɵɵadvance(2);
|
|
617
|
-
i0.ɵɵclassProp("sorted",
|
|
909
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Sequence");
|
|
618
910
|
i0.ɵɵadvance(2);
|
|
619
|
-
i0.ɵɵproperty("ngClass",
|
|
911
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Sequence" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
620
912
|
i0.ɵɵadvance();
|
|
621
|
-
i0.ɵɵclassProp("sorted",
|
|
913
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Name");
|
|
622
914
|
i0.ɵɵadvance(2);
|
|
623
|
-
i0.ɵɵproperty("ngClass",
|
|
915
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Name" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
624
916
|
i0.ɵɵadvance();
|
|
625
|
-
i0.ɵɵclassProp("sorted",
|
|
917
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Type");
|
|
626
918
|
i0.ɵɵadvance(2);
|
|
627
|
-
i0.ɵɵproperty("ngClass",
|
|
919
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Type" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
628
920
|
i0.ɵɵadvance();
|
|
629
|
-
i0.ɵɵclassProp("sorted",
|
|
921
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Length");
|
|
630
922
|
i0.ɵɵadvance(2);
|
|
631
|
-
i0.ɵɵproperty("ngClass",
|
|
923
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Length" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
632
924
|
i0.ɵɵadvance();
|
|
633
|
-
i0.ɵɵclassProp("sorted",
|
|
925
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "AllowsNull");
|
|
634
926
|
i0.ɵɵadvance(2);
|
|
635
|
-
i0.ɵɵproperty("ngClass",
|
|
927
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "AllowsNull" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
636
928
|
i0.ɵɵadvance(3);
|
|
637
|
-
i0.ɵɵclassProp("sorted",
|
|
929
|
+
i0.ɵɵclassProp("sorted", ctx_r2.fieldListSortColumn === "Description");
|
|
638
930
|
i0.ɵɵadvance(2);
|
|
639
|
-
i0.ɵɵproperty("ngClass",
|
|
931
|
+
i0.ɵɵproperty("ngClass", ctx_r2.fieldListSortColumn === "Description" ? ctx_r2.fieldListSortDirection === "asc" ? "fa-caret-up" : "fa-caret-down" : "fa-sort");
|
|
640
932
|
i0.ɵɵadvance(2);
|
|
641
|
-
i0.ɵɵ
|
|
642
|
-
i0.ɵɵadvance();
|
|
643
|
-
i0.ɵɵ
|
|
933
|
+
i0.ɵɵrepeater(ctx_r2.getFilteredFieldsList());
|
|
934
|
+
i0.ɵɵadvance(2);
|
|
935
|
+
i0.ɵɵconditional(ctx_r2.getFilteredFieldsList().length === 0 ? 25 : -1);
|
|
644
936
|
} }
|
|
645
|
-
function
|
|
646
|
-
const
|
|
647
|
-
i0.ɵɵelementStart(0, "section",
|
|
648
|
-
i0.ɵɵelement(3, "i",
|
|
649
|
-
i0.ɵɵelementStart(4, "input",
|
|
650
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
937
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_52_Template(rf, ctx) { if (rf & 1) {
|
|
938
|
+
const _r17 = i0.ɵɵgetCurrentView();
|
|
939
|
+
i0.ɵɵelementStart(0, "section", 31)(1, "div", 116)(2, "div", 117);
|
|
940
|
+
i0.ɵɵelement(3, "i", 118);
|
|
941
|
+
i0.ɵɵelementStart(4, "input", 119);
|
|
942
|
+
i0.ɵɵlistener("ngModelChange", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_input_ngModelChange_4_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.onFieldSearch($event)); });
|
|
651
943
|
i0.ɵɵelementEnd()();
|
|
652
|
-
i0.ɵɵelementStart(5, "div",
|
|
653
|
-
i0.ɵɵlistener("click", function
|
|
654
|
-
i0.ɵɵelement(8, "i",
|
|
944
|
+
i0.ɵɵelementStart(5, "div", 120)(6, "div", 121)(7, "button", 122);
|
|
945
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.fieldViewMode = "grouped"); });
|
|
946
|
+
i0.ɵɵelement(8, "i", 46);
|
|
655
947
|
i0.ɵɵelementEnd();
|
|
656
|
-
i0.ɵɵelementStart(9, "button",
|
|
657
|
-
i0.ɵɵlistener("click", function
|
|
658
|
-
i0.ɵɵelement(10, "i",
|
|
948
|
+
i0.ɵɵelementStart(9, "button", 123);
|
|
949
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_52_Template_button_click_9_listener() { i0.ɵɵrestoreView(_r17); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.fieldViewMode = "list"); });
|
|
950
|
+
i0.ɵɵelement(10, "i", 124);
|
|
659
951
|
i0.ɵɵelementEnd()();
|
|
660
|
-
i0.ɵɵ
|
|
952
|
+
i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template, 5, 2, "div", 125);
|
|
661
953
|
i0.ɵɵelementEnd()();
|
|
662
|
-
i0.ɵɵelementStart(12, "div",
|
|
663
|
-
i0.ɵɵ
|
|
954
|
+
i0.ɵɵelementStart(12, "div", 126);
|
|
955
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template, 3, 0, "div", 127);
|
|
956
|
+
i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template, 26, 19, "div", 128);
|
|
664
957
|
i0.ɵɵelementEnd()();
|
|
665
958
|
} if (rf & 2) {
|
|
666
|
-
const
|
|
959
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
667
960
|
i0.ɵɵadvance(4);
|
|
668
|
-
i0.ɵɵproperty("ngModel",
|
|
961
|
+
i0.ɵɵproperty("ngModel", ctx_r2.fieldSearchTerm);
|
|
669
962
|
i0.ɵɵadvance(3);
|
|
670
|
-
i0.ɵɵclassProp("active",
|
|
963
|
+
i0.ɵɵclassProp("active", ctx_r2.fieldViewMode === "grouped");
|
|
671
964
|
i0.ɵɵadvance(2);
|
|
672
|
-
i0.ɵɵclassProp("active",
|
|
965
|
+
i0.ɵɵclassProp("active", ctx_r2.fieldViewMode === "list");
|
|
673
966
|
i0.ɵɵadvance(2);
|
|
674
|
-
i0.ɵɵ
|
|
967
|
+
i0.ɵɵconditional(ctx_r2.fieldViewMode === "grouped" ? 11 : -1);
|
|
675
968
|
i0.ɵɵadvance(2);
|
|
676
|
-
i0.ɵɵ
|
|
969
|
+
i0.ɵɵconditional(ctx_r2.fieldViewMode === "grouped" ? 13 : -1);
|
|
677
970
|
i0.ɵɵadvance();
|
|
678
|
-
i0.ɵɵ
|
|
971
|
+
i0.ɵɵconditional(ctx_r2.fieldViewMode === "list" ? 14 : -1);
|
|
679
972
|
} }
|
|
680
|
-
function
|
|
681
|
-
const
|
|
682
|
-
i0.ɵɵelementStart(0, "button",
|
|
683
|
-
i0.ɵɵlistener("click", function
|
|
973
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
974
|
+
const _r28 = i0.ɵɵgetCurrentView();
|
|
975
|
+
i0.ɵɵelementStart(0, "button", 197);
|
|
976
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template_button_click_0_listener() { const d_r29 = i0.ɵɵrestoreView(_r28).$implicit; const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.setErdDepth(d_r29)); });
|
|
684
977
|
i0.ɵɵtext(1);
|
|
685
978
|
i0.ɵɵelementEnd();
|
|
686
979
|
} if (rf & 2) {
|
|
687
|
-
const
|
|
688
|
-
const
|
|
689
|
-
i0.ɵɵclassProp("active",
|
|
690
|
-
i0.ɵɵproperty("title", "Show " +
|
|
980
|
+
const d_r29 = ctx.$implicit;
|
|
981
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
982
|
+
i0.ɵɵclassProp("active", ctx_r2.erdDepth === d_r29);
|
|
983
|
+
i0.ɵɵproperty("title", "Show " + d_r29 + " level(s) of relationships");
|
|
691
984
|
i0.ɵɵadvance();
|
|
692
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
985
|
+
i0.ɵɵtextInterpolate1(" ", d_r29, " ");
|
|
693
986
|
} }
|
|
694
|
-
function
|
|
695
|
-
i0.ɵɵelementStart(0, "div",
|
|
987
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
988
|
+
i0.ɵɵelementStart(0, "div", 191)(1, "span", 194);
|
|
696
989
|
i0.ɵɵtext(2, "Depth:");
|
|
697
990
|
i0.ɵɵelementEnd();
|
|
698
|
-
i0.ɵɵelementStart(3, "div",
|
|
699
|
-
i0.ɵɵ
|
|
991
|
+
i0.ɵɵelementStart(3, "div", 195);
|
|
992
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template, 2, 4, "button", 196, i0.ɵɵrepeaterTrackByIdentity);
|
|
700
993
|
i0.ɵɵelementEnd()();
|
|
701
994
|
} if (rf & 2) {
|
|
702
995
|
i0.ɵɵadvance(4);
|
|
703
|
-
i0.ɵɵ
|
|
996
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0));
|
|
704
997
|
} }
|
|
705
|
-
function
|
|
706
|
-
const
|
|
707
|
-
i0.ɵɵelementStart(0, "div",
|
|
708
|
-
i0.ɵɵlistener("stateChange", function
|
|
998
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
999
|
+
const _r30 = i0.ɵɵgetCurrentView();
|
|
1000
|
+
i0.ɵɵelementStart(0, "div", 192)(1, "mj-erd-composite", 198);
|
|
1001
|
+
i0.ɵɵlistener("stateChange", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template_mj_erd_composite_stateChange_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onERDStateChange($event)); })("openRecord", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template_mj_erd_composite_openRecord_1_listener($event) { i0.ɵɵrestoreView(_r30); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.onERDOpenRecord($event)); });
|
|
709
1002
|
i0.ɵɵelementEnd()();
|
|
710
1003
|
} if (rf & 2) {
|
|
711
|
-
const
|
|
1004
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
712
1005
|
i0.ɵɵadvance();
|
|
713
|
-
i0.ɵɵproperty("focusEntities",
|
|
1006
|
+
i0.ɵɵproperty("focusEntities", ctx_r2.entity ? i0.ɵɵpureFunction1(4, _c1, ctx_r2.entity) : i0.ɵɵpureFunction0(6, _c2))("showFilterPanel", false)("showHeader", false)("depth", ctx_r2.erdDepth);
|
|
714
1007
|
} }
|
|
715
|
-
function
|
|
716
|
-
const
|
|
717
|
-
i0.ɵɵelementStart(0, "span",
|
|
718
|
-
i0.ɵɵlistener("click", function
|
|
719
|
-
i0.ɵɵelement(1, "i",
|
|
1008
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
1009
|
+
const _r31 = i0.ɵɵgetCurrentView();
|
|
1010
|
+
i0.ɵɵelementStart(0, "span", 211);
|
|
1011
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template_span_click_0_listener() { const field_r32 = i0.ɵɵrestoreView(_r31).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.selectField(field_r32)); });
|
|
1012
|
+
i0.ɵɵelement(1, "i", 21);
|
|
720
1013
|
i0.ɵɵtext(2);
|
|
721
1014
|
i0.ɵɵelementEnd();
|
|
722
1015
|
} if (rf & 2) {
|
|
723
|
-
const
|
|
724
|
-
i0.ɵɵproperty("title",
|
|
1016
|
+
const field_r32 = ctx.$implicit;
|
|
1017
|
+
i0.ɵɵproperty("title", field_r32.Description || field_r32.Name);
|
|
725
1018
|
i0.ɵɵadvance(2);
|
|
726
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1019
|
+
i0.ɵɵtextInterpolate1(" ", field_r32.Name, " ");
|
|
727
1020
|
} }
|
|
728
|
-
function
|
|
729
|
-
i0.ɵɵelementStart(0, "div",
|
|
1021
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
1022
|
+
i0.ɵɵelementStart(0, "div", 203)(1, "div", 206)(2, "div", 207);
|
|
730
1023
|
i0.ɵɵelement(3, "i", 60);
|
|
731
1024
|
i0.ɵɵelementEnd();
|
|
732
|
-
i0.ɵɵelementStart(4, "div",
|
|
1025
|
+
i0.ɵɵelementStart(4, "div", 208);
|
|
733
1026
|
i0.ɵɵtext(5);
|
|
734
1027
|
i0.ɵɵelementEnd()();
|
|
735
|
-
i0.ɵɵelementStart(6, "div",
|
|
736
|
-
i0.ɵɵ
|
|
1028
|
+
i0.ɵɵelementStart(6, "div", 209);
|
|
1029
|
+
i0.ɵɵrepeaterCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template, 3, 2, "span", 210, i0.ɵɵrepeaterTrackByIdentity);
|
|
737
1030
|
i0.ɵɵelementEnd()();
|
|
738
1031
|
} if (rf & 2) {
|
|
739
|
-
const
|
|
1032
|
+
const group_r33 = ctx.$implicit;
|
|
740
1033
|
i0.ɵɵadvance(5);
|
|
741
|
-
i0.ɵɵtextInterpolate(
|
|
1034
|
+
i0.ɵɵtextInterpolate(group_r33.entityName);
|
|
742
1035
|
i0.ɵɵadvance(2);
|
|
743
|
-
i0.ɵɵ
|
|
1036
|
+
i0.ɵɵrepeater(group_r33.fields);
|
|
744
1037
|
} }
|
|
745
|
-
function
|
|
746
|
-
i0.ɵɵelementStart(0, "div",
|
|
1038
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1039
|
+
i0.ɵɵelementStart(0, "div", 204)(1, "p");
|
|
747
1040
|
i0.ɵɵtext(2, "No outgoing relationships");
|
|
748
1041
|
i0.ɵɵelementEnd()();
|
|
749
1042
|
} }
|
|
750
|
-
function
|
|
751
|
-
i0.ɵɵelement(0, "i",
|
|
1043
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
1044
|
+
i0.ɵɵelement(0, "i", 215);
|
|
752
1045
|
} }
|
|
753
|
-
function
|
|
754
|
-
i0.ɵɵelementStart(0, "span",
|
|
755
|
-
i0.ɵɵelement(1, "i",
|
|
1046
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
1047
|
+
i0.ɵɵelementStart(0, "span", 214);
|
|
1048
|
+
i0.ɵɵelement(1, "i", 21);
|
|
756
1049
|
i0.ɵɵtext(2);
|
|
757
|
-
i0.ɵɵ
|
|
1050
|
+
i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template, 1, 0, "i", 215);
|
|
758
1051
|
i0.ɵɵelementEnd();
|
|
759
1052
|
} if (rf & 2) {
|
|
760
|
-
const
|
|
761
|
-
i0.ɵɵproperty("title", "Type: " +
|
|
1053
|
+
const field_r34 = ctx.$implicit;
|
|
1054
|
+
i0.ɵɵproperty("title", "Type: " + field_r34.type);
|
|
762
1055
|
i0.ɵɵadvance(2);
|
|
763
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1056
|
+
i0.ɵɵtextInterpolate1(" ", field_r34.fieldName, " ");
|
|
764
1057
|
i0.ɵɵadvance();
|
|
765
|
-
i0.ɵɵ
|
|
1058
|
+
i0.ɵɵconditional(field_r34.bundleInAPI ? 3 : -1);
|
|
766
1059
|
} }
|
|
767
|
-
function
|
|
768
|
-
i0.ɵɵelementStart(0, "div",
|
|
769
|
-
i0.ɵɵelement(3, "i",
|
|
1060
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template(rf, ctx) { if (rf & 1) {
|
|
1061
|
+
i0.ɵɵelementStart(0, "div", 203)(1, "div", 206)(2, "div", 212);
|
|
1062
|
+
i0.ɵɵelement(3, "i", 213);
|
|
770
1063
|
i0.ɵɵelementEnd();
|
|
771
|
-
i0.ɵɵelementStart(4, "div",
|
|
1064
|
+
i0.ɵɵelementStart(4, "div", 208);
|
|
772
1065
|
i0.ɵɵtext(5);
|
|
773
1066
|
i0.ɵɵelementEnd()();
|
|
774
|
-
i0.ɵɵelementStart(6, "div",
|
|
775
|
-
i0.ɵɵ
|
|
1067
|
+
i0.ɵɵelementStart(6, "div", 209);
|
|
1068
|
+
i0.ɵɵrepeaterCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template, 4, 3, "span", 214, i0.ɵɵrepeaterTrackByIdentity);
|
|
776
1069
|
i0.ɵɵelementEnd()();
|
|
777
1070
|
} if (rf & 2) {
|
|
778
|
-
const
|
|
1071
|
+
const group_r35 = ctx.$implicit;
|
|
779
1072
|
i0.ɵɵadvance(5);
|
|
780
|
-
i0.ɵɵtextInterpolate(
|
|
1073
|
+
i0.ɵɵtextInterpolate(group_r35.entityName);
|
|
781
1074
|
i0.ɵɵadvance(2);
|
|
782
|
-
i0.ɵɵ
|
|
1075
|
+
i0.ɵɵrepeater(group_r35.fields);
|
|
783
1076
|
} }
|
|
784
|
-
function
|
|
785
|
-
i0.ɵɵelementStart(0, "div",
|
|
1077
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
1078
|
+
i0.ɵɵelementStart(0, "div", 204)(1, "p");
|
|
786
1079
|
i0.ɵɵtext(2, "No incoming relationships");
|
|
787
1080
|
i0.ɵɵelementEnd()();
|
|
788
1081
|
} }
|
|
789
|
-
function
|
|
790
|
-
i0.ɵɵelementStart(0, "div",
|
|
791
|
-
i0.ɵɵelement(3, "i",
|
|
1082
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
1083
|
+
i0.ɵɵelementStart(0, "div", 193)(1, "div", 199)(2, "h3", 200);
|
|
1084
|
+
i0.ɵɵelement(3, "i", 201);
|
|
792
1085
|
i0.ɵɵtext(4, " Outgoing (References to other entities) ");
|
|
793
|
-
i0.ɵɵelementStart(5, "span",
|
|
1086
|
+
i0.ɵɵelementStart(5, "span", 139);
|
|
794
1087
|
i0.ɵɵtext(6);
|
|
795
1088
|
i0.ɵɵelementEnd()();
|
|
796
|
-
i0.ɵɵelementStart(7, "div",
|
|
797
|
-
i0.ɵɵ
|
|
1089
|
+
i0.ɵɵelementStart(7, "div", 202);
|
|
1090
|
+
i0.ɵɵrepeaterCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template, 9, 1, "div", 203, i0.ɵɵrepeaterTrackByIdentity);
|
|
1091
|
+
i0.ɵɵconditionalCreate(10, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template, 3, 0, "div", 204);
|
|
798
1092
|
i0.ɵɵelementEnd()();
|
|
799
|
-
i0.ɵɵelementStart(
|
|
800
|
-
i0.ɵɵelement(
|
|
801
|
-
i0.ɵɵtext(
|
|
802
|
-
i0.ɵɵelementStart(
|
|
803
|
-
i0.ɵɵtext(
|
|
1093
|
+
i0.ɵɵelementStart(11, "div", 199)(12, "h3", 200);
|
|
1094
|
+
i0.ɵɵelement(13, "i", 205);
|
|
1095
|
+
i0.ɵɵtext(14, " Incoming (Entities that reference this one) ");
|
|
1096
|
+
i0.ɵɵelementStart(15, "span", 139);
|
|
1097
|
+
i0.ɵɵtext(16);
|
|
804
1098
|
i0.ɵɵelementEnd()();
|
|
805
|
-
i0.ɵɵelementStart(
|
|
806
|
-
i0.ɵɵ
|
|
1099
|
+
i0.ɵɵelementStart(17, "div", 202);
|
|
1100
|
+
i0.ɵɵrepeaterCreate(18, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template, 9, 1, "div", 203, i0.ɵɵrepeaterTrackByIdentity);
|
|
1101
|
+
i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template, 3, 0, "div", 204);
|
|
807
1102
|
i0.ɵɵelementEnd()()();
|
|
808
1103
|
} if (rf & 2) {
|
|
809
|
-
const
|
|
1104
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
810
1105
|
i0.ɵɵadvance(6);
|
|
811
|
-
i0.ɵɵtextInterpolate(
|
|
1106
|
+
i0.ɵɵtextInterpolate(ctx_r2.groupedOutgoingRelationships.length);
|
|
812
1107
|
i0.ɵɵadvance(2);
|
|
813
|
-
i0.ɵɵ
|
|
814
|
-
i0.ɵɵadvance();
|
|
815
|
-
i0.ɵɵ
|
|
1108
|
+
i0.ɵɵrepeater(ctx_r2.groupedOutgoingRelationships);
|
|
1109
|
+
i0.ɵɵadvance(2);
|
|
1110
|
+
i0.ɵɵconditional(ctx_r2.groupedOutgoingRelationships.length === 0 ? 10 : -1);
|
|
816
1111
|
i0.ɵɵadvance(6);
|
|
817
|
-
i0.ɵɵtextInterpolate(
|
|
1112
|
+
i0.ɵɵtextInterpolate(ctx_r2.groupedIncomingRelationships.length);
|
|
818
1113
|
i0.ɵɵadvance(2);
|
|
819
|
-
i0.ɵɵ
|
|
820
|
-
i0.ɵɵadvance();
|
|
821
|
-
i0.ɵɵ
|
|
1114
|
+
i0.ɵɵrepeater(ctx_r2.groupedIncomingRelationships);
|
|
1115
|
+
i0.ɵɵadvance(2);
|
|
1116
|
+
i0.ɵɵconditional(ctx_r2.groupedIncomingRelationships.length === 0 ? 20 : -1);
|
|
822
1117
|
} }
|
|
823
|
-
function
|
|
824
|
-
const
|
|
825
|
-
i0.ɵɵelementStart(0, "section",
|
|
826
|
-
i0.ɵɵlistener("click", function
|
|
1118
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
1119
|
+
const _r27 = i0.ɵɵgetCurrentView();
|
|
1120
|
+
i0.ɵɵelementStart(0, "section", 32)(1, "div", 116)(2, "div", 189)(3, "button", 190);
|
|
1121
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.relationshipViewMode = "diagram"); });
|
|
827
1122
|
i0.ɵɵelement(4, "i", 62);
|
|
828
1123
|
i0.ɵɵtext(5, " Diagram ");
|
|
829
1124
|
i0.ɵɵelementEnd();
|
|
830
|
-
i0.ɵɵelementStart(6, "button",
|
|
831
|
-
i0.ɵɵlistener("click", function
|
|
832
|
-
i0.ɵɵelement(7, "i",
|
|
1125
|
+
i0.ɵɵelementStart(6, "button", 190);
|
|
1126
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_53_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r27); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.relationshipViewMode = "list"); });
|
|
1127
|
+
i0.ɵɵelement(7, "i", 124);
|
|
833
1128
|
i0.ɵɵtext(8, " List ");
|
|
834
1129
|
i0.ɵɵelementEnd()();
|
|
835
|
-
i0.ɵɵ
|
|
1130
|
+
i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template, 6, 1, "div", 191);
|
|
836
1131
|
i0.ɵɵelementEnd();
|
|
837
1132
|
i0.ɵɵelementStart(10, "div", 51);
|
|
838
|
-
i0.ɵɵ
|
|
1133
|
+
i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template, 2, 7, "div", 192);
|
|
1134
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template, 21, 4, "div", 193);
|
|
839
1135
|
i0.ɵɵelementEnd()();
|
|
840
1136
|
} if (rf & 2) {
|
|
841
|
-
const
|
|
1137
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
842
1138
|
i0.ɵɵadvance(3);
|
|
843
|
-
i0.ɵɵclassProp("active",
|
|
1139
|
+
i0.ɵɵclassProp("active", ctx_r2.relationshipViewMode === "diagram");
|
|
844
1140
|
i0.ɵɵadvance(3);
|
|
845
|
-
i0.ɵɵclassProp("active",
|
|
1141
|
+
i0.ɵɵclassProp("active", ctx_r2.relationshipViewMode === "list");
|
|
846
1142
|
i0.ɵɵadvance(3);
|
|
847
|
-
i0.ɵɵ
|
|
1143
|
+
i0.ɵɵconditional(ctx_r2.relationshipViewMode === "diagram" ? 9 : -1);
|
|
848
1144
|
i0.ɵɵadvance(2);
|
|
849
|
-
i0.ɵɵ
|
|
1145
|
+
i0.ɵɵconditional(ctx_r2.relationshipViewMode === "diagram" ? 11 : -1);
|
|
850
1146
|
i0.ɵɵadvance();
|
|
851
|
-
i0.ɵɵ
|
|
1147
|
+
i0.ɵɵconditional(ctx_r2.relationshipViewMode === "list" ? 12 : -1);
|
|
852
1148
|
} }
|
|
853
|
-
function
|
|
854
|
-
i0.ɵɵelementStart(0, "span",
|
|
1149
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
1150
|
+
i0.ɵɵelementStart(0, "span", 226);
|
|
855
1151
|
i0.ɵɵtext(1, "R");
|
|
856
1152
|
i0.ɵɵelementEnd();
|
|
857
1153
|
} }
|
|
858
|
-
function
|
|
859
|
-
i0.ɵɵelementStart(0, "span",
|
|
1154
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1155
|
+
i0.ɵɵelementStart(0, "span", 227);
|
|
860
1156
|
i0.ɵɵtext(1, "C");
|
|
861
1157
|
i0.ɵɵelementEnd();
|
|
862
1158
|
} }
|
|
863
|
-
function
|
|
864
|
-
i0.ɵɵelementStart(0, "span",
|
|
1159
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
1160
|
+
i0.ɵɵelementStart(0, "span", 228);
|
|
865
1161
|
i0.ɵɵtext(1, "U");
|
|
866
1162
|
i0.ɵɵelementEnd();
|
|
867
1163
|
} }
|
|
868
|
-
function
|
|
869
|
-
i0.ɵɵelementStart(0, "span",
|
|
1164
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1165
|
+
i0.ɵɵelementStart(0, "span", 229);
|
|
870
1166
|
i0.ɵɵtext(1, "D");
|
|
871
1167
|
i0.ɵɵelementEnd();
|
|
872
1168
|
} }
|
|
873
|
-
function
|
|
874
|
-
i0.ɵɵelementStart(0, "span",
|
|
1169
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1170
|
+
i0.ɵɵelementStart(0, "span", 230);
|
|
875
1171
|
i0.ɵɵtext(1, "None");
|
|
876
1172
|
i0.ɵɵelementEnd();
|
|
877
1173
|
} }
|
|
878
|
-
function
|
|
879
|
-
i0.ɵɵelementStart(0, "tr")(1, "td",
|
|
1174
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template(rf, ctx) { if (rf & 1) {
|
|
1175
|
+
i0.ɵɵelementStart(0, "tr")(1, "td", 223);
|
|
880
1176
|
i0.ɵɵtext(2);
|
|
881
1177
|
i0.ɵɵelementEnd();
|
|
882
|
-
i0.ɵɵelementStart(3, "td",
|
|
883
|
-
i0.ɵɵelement(4, "i",
|
|
1178
|
+
i0.ɵɵelementStart(3, "td", 218);
|
|
1179
|
+
i0.ɵɵelement(4, "i", 224);
|
|
884
1180
|
i0.ɵɵelementEnd();
|
|
885
|
-
i0.ɵɵelementStart(5, "td",
|
|
886
|
-
i0.ɵɵelement(6, "i",
|
|
1181
|
+
i0.ɵɵelementStart(5, "td", 218);
|
|
1182
|
+
i0.ɵɵelement(6, "i", 224);
|
|
887
1183
|
i0.ɵɵelementEnd();
|
|
888
|
-
i0.ɵɵelementStart(7, "td",
|
|
889
|
-
i0.ɵɵelement(8, "i",
|
|
1184
|
+
i0.ɵɵelementStart(7, "td", 218);
|
|
1185
|
+
i0.ɵɵelement(8, "i", 224);
|
|
890
1186
|
i0.ɵɵelementEnd();
|
|
891
|
-
i0.ɵɵelementStart(9, "td",
|
|
892
|
-
i0.ɵɵelement(10, "i",
|
|
1187
|
+
i0.ɵɵelementStart(9, "td", 218);
|
|
1188
|
+
i0.ɵɵelement(10, "i", 224);
|
|
893
1189
|
i0.ɵɵelementEnd();
|
|
894
|
-
i0.ɵɵelementStart(11, "td",
|
|
895
|
-
i0.ɵɵ
|
|
1190
|
+
i0.ɵɵelementStart(11, "td", 225);
|
|
1191
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template, 2, 0, "span", 226);
|
|
1192
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template, 2, 0, "span", 227);
|
|
1193
|
+
i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template, 2, 0, "span", 228);
|
|
1194
|
+
i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template, 2, 0, "span", 229);
|
|
1195
|
+
i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template, 2, 0, "span", 230);
|
|
896
1196
|
i0.ɵɵelementEnd()();
|
|
897
1197
|
} if (rf & 2) {
|
|
898
|
-
const
|
|
899
|
-
const
|
|
1198
|
+
const perm_r36 = ctx.$implicit;
|
|
1199
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
900
1200
|
i0.ɵɵadvance(2);
|
|
901
|
-
i0.ɵɵtextInterpolate(
|
|
1201
|
+
i0.ɵɵtextInterpolate(ctx_r2.getRoleName(perm_r36));
|
|
902
1202
|
i0.ɵɵadvance(2);
|
|
903
|
-
i0.ɵɵproperty("ngClass",
|
|
1203
|
+
i0.ɵɵproperty("ngClass", perm_r36.CanCreate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
|
|
904
1204
|
i0.ɵɵadvance(2);
|
|
905
|
-
i0.ɵɵproperty("ngClass",
|
|
1205
|
+
i0.ɵɵproperty("ngClass", perm_r36.CanRead ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
|
|
906
1206
|
i0.ɵɵadvance(2);
|
|
907
|
-
i0.ɵɵproperty("ngClass",
|
|
1207
|
+
i0.ɵɵproperty("ngClass", perm_r36.CanUpdate ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
|
|
908
1208
|
i0.ɵɵadvance(2);
|
|
909
|
-
i0.ɵɵproperty("ngClass",
|
|
1209
|
+
i0.ɵɵproperty("ngClass", perm_r36.CanDelete ? "fa-solid fa-check granted" : "fa-solid fa-xmark denied");
|
|
910
1210
|
i0.ɵɵadvance(2);
|
|
911
|
-
i0.ɵɵ
|
|
1211
|
+
i0.ɵɵconditional(perm_r36.ReadRLSFilterID ? 12 : -1);
|
|
912
1212
|
i0.ɵɵadvance();
|
|
913
|
-
i0.ɵɵ
|
|
1213
|
+
i0.ɵɵconditional(perm_r36.CreateRLSFilterID ? 13 : -1);
|
|
914
1214
|
i0.ɵɵadvance();
|
|
915
|
-
i0.ɵɵ
|
|
1215
|
+
i0.ɵɵconditional(perm_r36.UpdateRLSFilterID ? 14 : -1);
|
|
916
1216
|
i0.ɵɵadvance();
|
|
917
|
-
i0.ɵɵ
|
|
1217
|
+
i0.ɵɵconditional(perm_r36.DeleteRLSFilterID ? 15 : -1);
|
|
918
1218
|
i0.ɵɵadvance();
|
|
919
|
-
i0.ɵɵ
|
|
1219
|
+
i0.ɵɵconditional(!perm_r36.ReadRLSFilterID && !perm_r36.CreateRLSFilterID && !perm_r36.UpdateRLSFilterID && !perm_r36.DeleteRLSFilterID ? 16 : -1);
|
|
920
1220
|
} }
|
|
921
|
-
function
|
|
922
|
-
i0.ɵɵelementStart(0, "div",
|
|
923
|
-
i0.ɵɵelement(1, "i",
|
|
1221
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
1222
|
+
i0.ɵɵelementStart(0, "div", 204);
|
|
1223
|
+
i0.ɵɵelement(1, "i", 22);
|
|
924
1224
|
i0.ɵɵelementStart(2, "p");
|
|
925
1225
|
i0.ɵɵtext(3, "No permissions configured");
|
|
926
1226
|
i0.ɵɵelementEnd()();
|
|
927
1227
|
} }
|
|
928
|
-
function
|
|
929
|
-
i0.ɵɵelementStart(0, "section",
|
|
1228
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_54_Template(rf, ctx) { if (rf & 1) {
|
|
1229
|
+
i0.ɵɵelementStart(0, "section", 33)(1, "div", 51)(2, "div", 216)(3, "table", 217)(4, "thead")(5, "tr")(6, "th");
|
|
930
1230
|
i0.ɵɵtext(7, "Role");
|
|
931
1231
|
i0.ɵɵelementEnd();
|
|
932
|
-
i0.ɵɵelementStart(8, "th",
|
|
1232
|
+
i0.ɵɵelementStart(8, "th", 218);
|
|
933
1233
|
i0.ɵɵtext(9, "Create");
|
|
934
1234
|
i0.ɵɵelementEnd();
|
|
935
|
-
i0.ɵɵelementStart(10, "th",
|
|
1235
|
+
i0.ɵɵelementStart(10, "th", 218);
|
|
936
1236
|
i0.ɵɵtext(11, "Read");
|
|
937
1237
|
i0.ɵɵelementEnd();
|
|
938
|
-
i0.ɵɵelementStart(12, "th",
|
|
1238
|
+
i0.ɵɵelementStart(12, "th", 218);
|
|
939
1239
|
i0.ɵɵtext(13, "Update");
|
|
940
1240
|
i0.ɵɵelementEnd();
|
|
941
|
-
i0.ɵɵelementStart(14, "th",
|
|
1241
|
+
i0.ɵɵelementStart(14, "th", 218);
|
|
942
1242
|
i0.ɵɵtext(15, "Delete");
|
|
943
1243
|
i0.ɵɵelementEnd();
|
|
944
1244
|
i0.ɵɵelementStart(16, "th");
|
|
945
1245
|
i0.ɵɵtext(17, "RLS");
|
|
946
1246
|
i0.ɵɵelementEnd()()();
|
|
947
1247
|
i0.ɵɵelementStart(18, "tbody");
|
|
948
|
-
i0.ɵɵ
|
|
949
|
-
i0.ɵɵelementEnd()();
|
|
950
|
-
i0.ɵɵ
|
|
951
|
-
i0.ɵɵelementEnd();
|
|
952
|
-
i0.ɵɵelementStart(
|
|
953
|
-
i0.ɵɵelement(
|
|
954
|
-
i0.ɵɵtext(
|
|
955
|
-
i0.ɵɵelementEnd();
|
|
956
|
-
i0.ɵɵelementStart(
|
|
957
|
-
i0.ɵɵelement(
|
|
958
|
-
i0.ɵɵelementStart(
|
|
959
|
-
i0.ɵɵtext(
|
|
960
|
-
i0.ɵɵelementEnd()();
|
|
961
|
-
i0.ɵɵelementStart(
|
|
962
|
-
i0.ɵɵelement(
|
|
963
|
-
i0.ɵɵelementStart(
|
|
964
|
-
i0.ɵɵtext(
|
|
965
|
-
i0.ɵɵelementEnd()();
|
|
966
|
-
i0.ɵɵelementStart(
|
|
967
|
-
i0.ɵɵelement(
|
|
968
|
-
i0.ɵɵelementStart(
|
|
969
|
-
i0.ɵɵtext(
|
|
970
|
-
i0.ɵɵelementEnd()();
|
|
971
|
-
i0.ɵɵelementStart(
|
|
972
|
-
i0.ɵɵelement(
|
|
973
|
-
i0.ɵɵelementStart(
|
|
974
|
-
i0.ɵɵtext(
|
|
975
|
-
i0.ɵɵelementEnd()();
|
|
976
|
-
i0.ɵɵelementStart(
|
|
977
|
-
i0.ɵɵelement(
|
|
978
|
-
i0.ɵɵelementStart(
|
|
979
|
-
i0.ɵɵtext(
|
|
980
|
-
i0.ɵɵelementEnd()();
|
|
981
|
-
i0.ɵɵelementStart(
|
|
982
|
-
i0.ɵɵelement(
|
|
983
|
-
i0.ɵɵelementStart(
|
|
984
|
-
i0.ɵɵtext(
|
|
985
|
-
i0.ɵɵelementEnd()();
|
|
986
|
-
i0.ɵɵelementStart(
|
|
987
|
-
i0.ɵɵelement(
|
|
988
|
-
i0.ɵɵelementStart(
|
|
989
|
-
i0.ɵɵtext(
|
|
1248
|
+
i0.ɵɵrepeaterCreate(19, EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template, 17, 10, "tr", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
1249
|
+
i0.ɵɵelementEnd()();
|
|
1250
|
+
i0.ɵɵconditionalCreate(21, EntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template, 4, 0, "div", 204);
|
|
1251
|
+
i0.ɵɵelementEnd();
|
|
1252
|
+
i0.ɵɵelementStart(22, "div", 219)(23, "h3", 67);
|
|
1253
|
+
i0.ɵɵelement(24, "i", 220);
|
|
1254
|
+
i0.ɵɵtext(25, " API Capabilities ");
|
|
1255
|
+
i0.ɵɵelementEnd();
|
|
1256
|
+
i0.ɵɵelementStart(26, "div", 221)(27, "div", 222);
|
|
1257
|
+
i0.ɵɵelement(28, "i", 96);
|
|
1258
|
+
i0.ɵɵelementStart(29, "span");
|
|
1259
|
+
i0.ɵɵtext(30, "Include in API");
|
|
1260
|
+
i0.ɵɵelementEnd()();
|
|
1261
|
+
i0.ɵɵelementStart(31, "div", 222);
|
|
1262
|
+
i0.ɵɵelement(32, "i", 96);
|
|
1263
|
+
i0.ɵɵelementStart(33, "span");
|
|
1264
|
+
i0.ɵɵtext(34, "Allow All Rows");
|
|
1265
|
+
i0.ɵɵelementEnd()();
|
|
1266
|
+
i0.ɵɵelementStart(35, "div", 222);
|
|
1267
|
+
i0.ɵɵelement(36, "i", 96);
|
|
1268
|
+
i0.ɵɵelementStart(37, "span");
|
|
1269
|
+
i0.ɵɵtext(38, "Allow Create");
|
|
1270
|
+
i0.ɵɵelementEnd()();
|
|
1271
|
+
i0.ɵɵelementStart(39, "div", 222);
|
|
1272
|
+
i0.ɵɵelement(40, "i", 96);
|
|
1273
|
+
i0.ɵɵelementStart(41, "span");
|
|
1274
|
+
i0.ɵɵtext(42, "Allow Update");
|
|
1275
|
+
i0.ɵɵelementEnd()();
|
|
1276
|
+
i0.ɵɵelementStart(43, "div", 222);
|
|
1277
|
+
i0.ɵɵelement(44, "i", 96);
|
|
1278
|
+
i0.ɵɵelementStart(45, "span");
|
|
1279
|
+
i0.ɵɵtext(46, "Allow Delete");
|
|
1280
|
+
i0.ɵɵelementEnd()();
|
|
1281
|
+
i0.ɵɵelementStart(47, "div", 222);
|
|
1282
|
+
i0.ɵɵelement(48, "i", 96);
|
|
1283
|
+
i0.ɵɵelementStart(49, "span");
|
|
1284
|
+
i0.ɵɵtext(50, "User Search");
|
|
1285
|
+
i0.ɵɵelementEnd()();
|
|
1286
|
+
i0.ɵɵelementStart(51, "div", 222);
|
|
1287
|
+
i0.ɵɵelement(52, "i", 96);
|
|
1288
|
+
i0.ɵɵelementStart(53, "span");
|
|
1289
|
+
i0.ɵɵtext(54, "Custom Resolver");
|
|
990
1290
|
i0.ɵɵelementEnd()()()()()();
|
|
991
1291
|
} if (rf & 2) {
|
|
992
|
-
const
|
|
1292
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
993
1293
|
i0.ɵɵadvance(19);
|
|
994
|
-
i0.ɵɵ
|
|
995
|
-
i0.ɵɵadvance();
|
|
996
|
-
i0.ɵɵ
|
|
1294
|
+
i0.ɵɵrepeater(ctx_r2.entity.Permissions);
|
|
1295
|
+
i0.ɵɵadvance(2);
|
|
1296
|
+
i0.ɵɵconditional(ctx_r2.entity.Permissions.length === 0 ? 21 : -1);
|
|
997
1297
|
i0.ɵɵadvance(6);
|
|
998
|
-
i0.ɵɵclassProp("enabled",
|
|
1298
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.IncludeInAPI);
|
|
999
1299
|
i0.ɵɵadvance();
|
|
1000
|
-
i0.ɵɵproperty("ngClass",
|
|
1300
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.IncludeInAPI ? "fa-check" : "fa-xmark");
|
|
1001
1301
|
i0.ɵɵadvance(3);
|
|
1002
|
-
i0.ɵɵclassProp("enabled",
|
|
1302
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowAllRowsAPI);
|
|
1003
1303
|
i0.ɵɵadvance();
|
|
1004
|
-
i0.ɵɵproperty("ngClass",
|
|
1304
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowAllRowsAPI ? "fa-check" : "fa-xmark");
|
|
1005
1305
|
i0.ɵɵadvance(3);
|
|
1006
|
-
i0.ɵɵclassProp("enabled",
|
|
1306
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowCreateAPI);
|
|
1007
1307
|
i0.ɵɵadvance();
|
|
1008
|
-
i0.ɵɵproperty("ngClass",
|
|
1308
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowCreateAPI ? "fa-check" : "fa-xmark");
|
|
1009
1309
|
i0.ɵɵadvance(3);
|
|
1010
|
-
i0.ɵɵclassProp("enabled",
|
|
1310
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowUpdateAPI);
|
|
1011
1311
|
i0.ɵɵadvance();
|
|
1012
|
-
i0.ɵɵproperty("ngClass",
|
|
1312
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowUpdateAPI ? "fa-check" : "fa-xmark");
|
|
1013
1313
|
i0.ɵɵadvance(3);
|
|
1014
|
-
i0.ɵɵclassProp("enabled",
|
|
1314
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowDeleteAPI);
|
|
1015
1315
|
i0.ɵɵadvance();
|
|
1016
|
-
i0.ɵɵproperty("ngClass",
|
|
1316
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowDeleteAPI ? "fa-check" : "fa-xmark");
|
|
1017
1317
|
i0.ɵɵadvance(3);
|
|
1018
|
-
i0.ɵɵclassProp("enabled",
|
|
1318
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AllowUserSearchAPI);
|
|
1019
1319
|
i0.ɵɵadvance();
|
|
1020
|
-
i0.ɵɵproperty("ngClass",
|
|
1320
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AllowUserSearchAPI ? "fa-check" : "fa-xmark");
|
|
1021
1321
|
i0.ɵɵadvance(3);
|
|
1022
|
-
i0.ɵɵclassProp("enabled",
|
|
1322
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.CustomResolverAPI);
|
|
1023
1323
|
i0.ɵɵadvance();
|
|
1024
|
-
i0.ɵɵproperty("ngClass",
|
|
1324
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.CustomResolverAPI ? "fa-check" : "fa-xmark");
|
|
1025
1325
|
} }
|
|
1026
|
-
function
|
|
1326
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
1027
1327
|
i0.ɵɵelementStart(0, "div", 234);
|
|
1028
|
-
i0.ɵɵelement(1, "i",
|
|
1328
|
+
i0.ɵɵelement(1, "i", 220);
|
|
1029
1329
|
i0.ɵɵelementStart(2, "span");
|
|
1030
1330
|
i0.ɵɵtext(3, "API Create");
|
|
1031
1331
|
i0.ɵɵelementEnd()();
|
|
1032
1332
|
} }
|
|
1033
|
-
function
|
|
1333
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1034
1334
|
i0.ɵɵelementStart(0, "div", 234);
|
|
1035
|
-
i0.ɵɵelement(1, "i",
|
|
1335
|
+
i0.ɵɵelement(1, "i", 241);
|
|
1036
1336
|
i0.ɵɵelementStart(2, "span");
|
|
1037
1337
|
i0.ɵɵtext(3, "Record Changes");
|
|
1038
1338
|
i0.ɵɵelementEnd()();
|
|
1039
1339
|
} }
|
|
1040
|
-
function
|
|
1340
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1041
1341
|
i0.ɵɵelementStart(0, "div", 234);
|
|
1042
|
-
i0.ɵɵelement(1, "i",
|
|
1342
|
+
i0.ɵɵelement(1, "i", 42);
|
|
1043
1343
|
i0.ɵɵelementStart(2, "span");
|
|
1044
1344
|
i0.ɵɵtext(3, "Access Audit");
|
|
1045
1345
|
i0.ɵɵelementEnd()();
|
|
1046
1346
|
} }
|
|
1047
|
-
function
|
|
1048
|
-
i0.ɵɵelementStart(0, "section",
|
|
1347
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
1348
|
+
i0.ɵɵelementStart(0, "section", 34)(1, "div", 51)(2, "div", 231)(3, "div", 232)(4, "h4");
|
|
1049
1349
|
i0.ɵɵtext(5, "Data Sources");
|
|
1050
1350
|
i0.ɵɵelementEnd();
|
|
1051
1351
|
i0.ɵɵelementStart(6, "div", 233)(7, "div", 234);
|
|
@@ -1053,93 +1353,94 @@ function EntityFormComponentExtended_div_0_section_50_Template(rf, ctx) { if (rf
|
|
|
1053
1353
|
i0.ɵɵelementStart(9, "span");
|
|
1054
1354
|
i0.ɵɵtext(10, "Manual Entry");
|
|
1055
1355
|
i0.ɵɵelementEnd()();
|
|
1056
|
-
i0.ɵɵ
|
|
1356
|
+
i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template, 4, 0, "div", 234);
|
|
1057
1357
|
i0.ɵɵelementEnd()();
|
|
1058
|
-
i0.ɵɵelementStart(12, "div",
|
|
1358
|
+
i0.ɵɵelementStart(12, "div", 236);
|
|
1059
1359
|
i0.ɵɵelement(13, "i", 60);
|
|
1060
1360
|
i0.ɵɵelementEnd();
|
|
1061
|
-
i0.ɵɵelementStart(14, "div",
|
|
1361
|
+
i0.ɵɵelementStart(14, "div", 237)(15, "div", 238);
|
|
1062
1362
|
i0.ɵɵelement(16, "i");
|
|
1063
1363
|
i0.ɵɵelementStart(17, "span");
|
|
1064
1364
|
i0.ɵɵtext(18);
|
|
1065
1365
|
i0.ɵɵelementEnd()()();
|
|
1066
|
-
i0.ɵɵelementStart(19, "div",
|
|
1366
|
+
i0.ɵɵelementStart(19, "div", 236);
|
|
1067
1367
|
i0.ɵɵelement(20, "i", 60);
|
|
1068
1368
|
i0.ɵɵelementEnd();
|
|
1069
|
-
i0.ɵɵelementStart(21, "div",
|
|
1369
|
+
i0.ɵɵelementStart(21, "div", 239)(22, "h4");
|
|
1070
1370
|
i0.ɵɵtext(23, "Data Sinks");
|
|
1071
1371
|
i0.ɵɵelementEnd();
|
|
1072
1372
|
i0.ɵɵelementStart(24, "div", 233);
|
|
1073
|
-
i0.ɵɵ
|
|
1373
|
+
i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template, 4, 0, "div", 234);
|
|
1374
|
+
i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template, 4, 0, "div", 234);
|
|
1074
1375
|
i0.ɵɵelementStart(27, "div", 234);
|
|
1075
|
-
i0.ɵɵelement(28, "i",
|
|
1376
|
+
i0.ɵɵelement(28, "i", 21);
|
|
1076
1377
|
i0.ɵɵelementStart(29, "span");
|
|
1077
1378
|
i0.ɵɵtext(30);
|
|
1078
1379
|
i0.ɵɵelementEnd()()()()();
|
|
1079
|
-
i0.ɵɵelementStart(31, "div",
|
|
1080
|
-
i0.ɵɵelement(33, "i",
|
|
1380
|
+
i0.ɵɵelementStart(31, "div", 240)(32, "h3", 67);
|
|
1381
|
+
i0.ɵɵelement(33, "i", 241);
|
|
1081
1382
|
i0.ɵɵtext(34, " Tracking Configuration ");
|
|
1082
1383
|
i0.ɵɵelementEnd();
|
|
1083
|
-
i0.ɵɵelementStart(35, "div",
|
|
1084
|
-
i0.ɵɵelement(37, "i",
|
|
1384
|
+
i0.ɵɵelementStart(35, "div", 242)(36, "div", 243);
|
|
1385
|
+
i0.ɵɵelement(37, "i", 96);
|
|
1085
1386
|
i0.ɵɵelementStart(38, "span");
|
|
1086
1387
|
i0.ɵɵtext(39, "Track Record Changes");
|
|
1087
1388
|
i0.ɵɵelementEnd()();
|
|
1088
|
-
i0.ɵɵelementStart(40, "div",
|
|
1089
|
-
i0.ɵɵelement(41, "i",
|
|
1389
|
+
i0.ɵɵelementStart(40, "div", 243);
|
|
1390
|
+
i0.ɵɵelement(41, "i", 96);
|
|
1090
1391
|
i0.ɵɵelementStart(42, "span");
|
|
1091
1392
|
i0.ɵɵtext(43, "Audit Record Access");
|
|
1092
1393
|
i0.ɵɵelementEnd()();
|
|
1093
|
-
i0.ɵɵelementStart(44, "div",
|
|
1094
|
-
i0.ɵɵelement(45, "i",
|
|
1394
|
+
i0.ɵɵelementStart(44, "div", 243);
|
|
1395
|
+
i0.ɵɵelement(45, "i", 96);
|
|
1095
1396
|
i0.ɵɵelementStart(46, "span");
|
|
1096
1397
|
i0.ɵɵtext(47, "Audit View Runs");
|
|
1097
1398
|
i0.ɵɵelementEnd()();
|
|
1098
|
-
i0.ɵɵelementStart(48, "div",
|
|
1399
|
+
i0.ɵɵelementStart(48, "div", 243)(49, "span", 244);
|
|
1099
1400
|
i0.ɵɵtext(50, "Delete Type:");
|
|
1100
1401
|
i0.ɵɵelementEnd();
|
|
1101
|
-
i0.ɵɵelementStart(51, "span",
|
|
1402
|
+
i0.ɵɵelementStart(51, "span", 245);
|
|
1102
1403
|
i0.ɵɵtext(52);
|
|
1103
1404
|
i0.ɵɵelementEnd()();
|
|
1104
|
-
i0.ɵɵelementStart(53, "div",
|
|
1105
|
-
i0.ɵɵelement(54, "i",
|
|
1405
|
+
i0.ɵɵelementStart(53, "div", 243);
|
|
1406
|
+
i0.ɵɵelement(54, "i", 96);
|
|
1106
1407
|
i0.ɵɵelementStart(55, "span");
|
|
1107
1408
|
i0.ɵɵtext(56, "Cascade Deletes");
|
|
1108
1409
|
i0.ɵɵelementEnd()()()()()();
|
|
1109
1410
|
} if (rf & 2) {
|
|
1110
|
-
const
|
|
1411
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1111
1412
|
i0.ɵɵadvance(11);
|
|
1112
|
-
i0.ɵɵ
|
|
1413
|
+
i0.ɵɵconditional(ctx_r2.entity.IncludeInAPI ? 11 : -1);
|
|
1113
1414
|
i0.ɵɵadvance(5);
|
|
1114
|
-
i0.ɵɵclassMap(
|
|
1415
|
+
i0.ɵɵclassMap(ctx_r2.entityIcon);
|
|
1115
1416
|
i0.ɵɵadvance(2);
|
|
1116
|
-
i0.ɵɵtextInterpolate(
|
|
1417
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.Name);
|
|
1117
1418
|
i0.ɵɵadvance(7);
|
|
1118
|
-
i0.ɵɵ
|
|
1419
|
+
i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 25 : -1);
|
|
1119
1420
|
i0.ɵɵadvance();
|
|
1120
|
-
i0.ɵɵ
|
|
1421
|
+
i0.ɵɵconditional(ctx_r2.entity.AuditRecordAccess ? 26 : -1);
|
|
1121
1422
|
i0.ɵɵadvance(4);
|
|
1122
|
-
i0.ɵɵtextInterpolate1("Related Entities (",
|
|
1423
|
+
i0.ɵɵtextInterpolate1("Related Entities (", ctx_r2.stats.relationshipCount, ")");
|
|
1123
1424
|
i0.ɵɵadvance(6);
|
|
1124
|
-
i0.ɵɵclassProp("enabled",
|
|
1425
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.TrackRecordChanges);
|
|
1125
1426
|
i0.ɵɵadvance();
|
|
1126
|
-
i0.ɵɵproperty("ngClass",
|
|
1427
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.TrackRecordChanges ? "fa-check" : "fa-xmark");
|
|
1127
1428
|
i0.ɵɵadvance(3);
|
|
1128
|
-
i0.ɵɵclassProp("enabled",
|
|
1429
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AuditRecordAccess);
|
|
1129
1430
|
i0.ɵɵadvance();
|
|
1130
|
-
i0.ɵɵproperty("ngClass",
|
|
1431
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AuditRecordAccess ? "fa-check" : "fa-xmark");
|
|
1131
1432
|
i0.ɵɵadvance(3);
|
|
1132
|
-
i0.ɵɵclassProp("enabled",
|
|
1433
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.AuditViewRuns);
|
|
1133
1434
|
i0.ɵɵadvance();
|
|
1134
|
-
i0.ɵɵproperty("ngClass",
|
|
1435
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.AuditViewRuns ? "fa-check" : "fa-xmark");
|
|
1135
1436
|
i0.ɵɵadvance(7);
|
|
1136
|
-
i0.ɵɵtextInterpolate(
|
|
1437
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.DeleteType);
|
|
1137
1438
|
i0.ɵɵadvance();
|
|
1138
|
-
i0.ɵɵclassProp("enabled",
|
|
1439
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.CascadeDeletes);
|
|
1139
1440
|
i0.ɵɵadvance();
|
|
1140
|
-
i0.ɵɵproperty("ngClass",
|
|
1441
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.CascadeDeletes ? "fa-check" : "fa-xmark");
|
|
1141
1442
|
} }
|
|
1142
|
-
function
|
|
1443
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1143
1444
|
i0.ɵɵelementStart(0, "p");
|
|
1144
1445
|
i0.ɵɵtext(1, " This entity has change tracking enabled. All modifications to records are stored in the ");
|
|
1145
1446
|
i0.ɵɵelementStart(2, "code");
|
|
@@ -1148,7 +1449,7 @@ function EntityFormComponentExtended_div_0_section_51_p_15_Template(rf, ctx) { i
|
|
|
1148
1449
|
i0.ɵɵtext(4, " table, including the user who made the change, timestamp, and the before/after values. ");
|
|
1149
1450
|
i0.ɵɵelementEnd();
|
|
1150
1451
|
} }
|
|
1151
|
-
function
|
|
1452
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1152
1453
|
i0.ɵɵelementStart(0, "p");
|
|
1153
1454
|
i0.ɵɵtext(1, " This entity does not have change tracking enabled. To enable it, set ");
|
|
1154
1455
|
i0.ɵɵelementStart(2, "code");
|
|
@@ -1161,19 +1462,19 @@ function EntityFormComponentExtended_div_0_section_51_p_16_Template(rf, ctx) { i
|
|
|
1161
1462
|
i0.ɵɵtext(7, " in the entity metadata. ");
|
|
1162
1463
|
i0.ɵɵelementEnd();
|
|
1163
1464
|
} }
|
|
1164
|
-
function
|
|
1465
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1165
1466
|
i0.ɵɵelementStart(0, "li")(1, "code");
|
|
1166
1467
|
i0.ɵɵtext(2, "__mj_DeletedAt");
|
|
1167
1468
|
i0.ɵɵelementEnd();
|
|
1168
1469
|
i0.ɵɵtext(3, " - Soft delete timestamp (when applicable) ");
|
|
1169
1470
|
i0.ɵɵelementEnd();
|
|
1170
1471
|
} }
|
|
1171
|
-
function
|
|
1172
|
-
i0.ɵɵelementStart(0, "div",
|
|
1173
|
-
i0.ɵɵelement(2, "i",
|
|
1472
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
1473
|
+
i0.ɵɵelementStart(0, "div", 250)(1, "h4");
|
|
1474
|
+
i0.ɵɵelement(2, "i", 24);
|
|
1174
1475
|
i0.ɵɵtext(3, " Audit Fields ");
|
|
1175
1476
|
i0.ɵɵelementEnd();
|
|
1176
|
-
i0.ɵɵelementStart(4, "ul",
|
|
1477
|
+
i0.ɵɵelementStart(4, "ul", 252)(5, "li")(6, "code");
|
|
1177
1478
|
i0.ɵɵtext(7, "__mj_CreatedAt");
|
|
1178
1479
|
i0.ɵɵelementEnd();
|
|
1179
1480
|
i0.ɵɵtext(8, " - Record creation timestamp ");
|
|
@@ -1183,682 +1484,894 @@ function EntityFormComponentExtended_div_0_section_51_div_17_Template(rf, ctx) {
|
|
|
1183
1484
|
i0.ɵɵelementEnd();
|
|
1184
1485
|
i0.ɵɵtext(12, " - Last modification timestamp ");
|
|
1185
1486
|
i0.ɵɵelementEnd();
|
|
1186
|
-
i0.ɵɵ
|
|
1487
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template, 4, 0, "li");
|
|
1187
1488
|
i0.ɵɵelementEnd()();
|
|
1188
1489
|
} if (rf & 2) {
|
|
1189
|
-
const
|
|
1490
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1190
1491
|
i0.ɵɵadvance(13);
|
|
1191
|
-
i0.ɵɵ
|
|
1492
|
+
i0.ɵɵconditional(ctx_r2.entity.DeleteType === "Soft" ? 13 : -1);
|
|
1192
1493
|
} }
|
|
1193
|
-
function
|
|
1194
|
-
i0.ɵɵelementStart(0, "section",
|
|
1195
|
-
i0.ɵɵelement(4, "i",
|
|
1196
|
-
i0.ɵɵelementStart(5, "div",
|
|
1494
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
1495
|
+
i0.ɵɵelementStart(0, "section", 35)(1, "div", 51)(2, "div", 246)(3, "div", 247);
|
|
1496
|
+
i0.ɵɵelement(4, "i", 96);
|
|
1497
|
+
i0.ɵɵelementStart(5, "div", 248)(6, "strong");
|
|
1197
1498
|
i0.ɵɵtext(7, "Record Change Tracking");
|
|
1198
1499
|
i0.ɵɵelementEnd();
|
|
1199
1500
|
i0.ɵɵelementStart(8, "span");
|
|
1200
1501
|
i0.ɵɵtext(9);
|
|
1201
1502
|
i0.ɵɵelementEnd()()()();
|
|
1202
|
-
i0.ɵɵelementStart(10, "div",
|
|
1203
|
-
i0.ɵɵelement(13, "i",
|
|
1503
|
+
i0.ɵɵelementStart(10, "div", 249)(11, "div", 250)(12, "h4");
|
|
1504
|
+
i0.ɵɵelement(13, "i", 251);
|
|
1204
1505
|
i0.ɵɵtext(14, " About Change Tracking ");
|
|
1205
1506
|
i0.ɵɵelementEnd();
|
|
1206
|
-
i0.ɵɵ
|
|
1507
|
+
i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template, 5, 0, "p");
|
|
1508
|
+
i0.ɵɵconditionalCreate(16, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template, 8, 0, "p");
|
|
1207
1509
|
i0.ɵɵelementEnd();
|
|
1208
|
-
i0.ɵɵ
|
|
1510
|
+
i0.ɵɵconditionalCreate(17, EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template, 14, 1, "div", 250);
|
|
1209
1511
|
i0.ɵɵelementEnd()()();
|
|
1210
1512
|
} if (rf & 2) {
|
|
1211
|
-
const
|
|
1513
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1212
1514
|
i0.ɵɵadvance(3);
|
|
1213
|
-
i0.ɵɵclassProp("enabled",
|
|
1515
|
+
i0.ɵɵclassProp("enabled", ctx_r2.entity.TrackRecordChanges);
|
|
1214
1516
|
i0.ɵɵadvance();
|
|
1215
|
-
i0.ɵɵproperty("ngClass",
|
|
1517
|
+
i0.ɵɵproperty("ngClass", ctx_r2.entity.TrackRecordChanges ? "fa-circle-check" : "fa-circle-xmark");
|
|
1216
1518
|
i0.ɵɵadvance(5);
|
|
1217
|
-
i0.ɵɵtextInterpolate(
|
|
1519
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.TrackRecordChanges ? "Enabled - All changes are recorded" : "Disabled - Changes are not tracked");
|
|
1218
1520
|
i0.ɵɵadvance(6);
|
|
1219
|
-
i0.ɵɵ
|
|
1521
|
+
i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 15 : -1);
|
|
1522
|
+
i0.ɵɵadvance();
|
|
1523
|
+
i0.ɵɵconditional(!ctx_r2.entity.TrackRecordChanges ? 16 : -1);
|
|
1524
|
+
i0.ɵɵadvance();
|
|
1525
|
+
i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 17 : -1);
|
|
1526
|
+
} }
|
|
1527
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
1528
|
+
i0.ɵɵelement(0, "i", 263);
|
|
1529
|
+
i0.ɵɵtext(1, " Yes \u2014 read-only view ");
|
|
1530
|
+
} }
|
|
1531
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1532
|
+
i0.ɵɵelement(0, "i", 264);
|
|
1533
|
+
i0.ɵɵtext(1, " No ");
|
|
1534
|
+
} }
|
|
1535
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1536
|
+
const _r37 = i0.ɵɵgetCurrentView();
|
|
1537
|
+
i0.ɵɵelementStart(0, "span", 265);
|
|
1538
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template_span_click_0_listener() { i0.ɵɵrestoreView(_r37); const ctx_r2 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
|
|
1539
|
+
i0.ɵɵtext(1);
|
|
1540
|
+
i0.ɵɵelement(2, "i", 60);
|
|
1541
|
+
i0.ɵɵelementEnd();
|
|
1542
|
+
} if (rf & 2) {
|
|
1543
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1544
|
+
i0.ɵɵadvance();
|
|
1545
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
|
|
1546
|
+
} }
|
|
1547
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1548
|
+
i0.ɵɵelementStart(0, "span", 262);
|
|
1549
|
+
i0.ɵɵtext(1, "None");
|
|
1550
|
+
i0.ɵɵelementEnd();
|
|
1551
|
+
} }
|
|
1552
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
1553
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1554
|
+
i0.ɵɵtext(2, "Full Inheritance Chain");
|
|
1555
|
+
i0.ɵɵelementEnd();
|
|
1556
|
+
i0.ɵɵelementStart(3, "span", 245);
|
|
1557
|
+
i0.ɵɵtext(4);
|
|
1558
|
+
i0.ɵɵelementEnd()();
|
|
1559
|
+
i0.ɵɵelementStart(5, "div", 260)(6, "span", 244);
|
|
1560
|
+
i0.ɵɵtext(7, "Inherited Fields");
|
|
1561
|
+
i0.ɵɵelementEnd();
|
|
1562
|
+
i0.ɵɵelementStart(8, "span", 245);
|
|
1563
|
+
i0.ɵɵtext(9);
|
|
1564
|
+
i0.ɵɵelementEnd()();
|
|
1565
|
+
} if (rf & 2) {
|
|
1566
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1567
|
+
i0.ɵɵadvance(4);
|
|
1568
|
+
i0.ɵɵtextInterpolate(ctx_r2.IsaBreadcrumb);
|
|
1569
|
+
i0.ɵɵadvance(5);
|
|
1570
|
+
i0.ɵɵtextInterpolate2("", ctx_r2.InheritedFieldCount, " field", ctx_r2.InheritedFieldCount !== 1 ? "s" : "");
|
|
1571
|
+
} }
|
|
1572
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
1573
|
+
const _r38 = i0.ɵɵgetCurrentView();
|
|
1574
|
+
i0.ɵɵelementStart(0, "span", 266);
|
|
1575
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template_span_click_0_listener() { const child_r39 = i0.ɵɵrestoreView(_r38).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(child_r39)); });
|
|
1576
|
+
i0.ɵɵtext(1);
|
|
1577
|
+
i0.ɵɵelementEnd();
|
|
1578
|
+
i0.ɵɵtext(2);
|
|
1579
|
+
} if (rf & 2) {
|
|
1580
|
+
const child_r39 = ctx.$implicit;
|
|
1581
|
+
const ɵ$index_1228_r40 = ctx.$index;
|
|
1582
|
+
const ɵ$count_1228_r41 = ctx.$count;
|
|
1583
|
+
i0.ɵɵadvance();
|
|
1584
|
+
i0.ɵɵtextInterpolate(child_r39.Name);
|
|
1585
|
+
i0.ɵɵadvance();
|
|
1586
|
+
i0.ɵɵtextInterpolate1("", ɵ$index_1228_r40 === ɵ$count_1228_r41 - 1 ? "" : ", ", " ");
|
|
1587
|
+
} }
|
|
1588
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
1589
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1590
|
+
i0.ɵɵtext(2, "Child Types");
|
|
1591
|
+
i0.ɵɵelementEnd();
|
|
1592
|
+
i0.ɵɵelementStart(3, "span", 245);
|
|
1593
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template, 3, 2, null, null, _forTrack0);
|
|
1594
|
+
i0.ɵɵelementEnd()();
|
|
1595
|
+
} if (rf & 2) {
|
|
1596
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1597
|
+
i0.ɵɵadvance(4);
|
|
1598
|
+
i0.ɵɵrepeater(ctx_r2.ChildEntities);
|
|
1599
|
+
} }
|
|
1600
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
1601
|
+
const _r42 = i0.ɵɵgetCurrentView();
|
|
1602
|
+
i0.ɵɵelementStart(0, "span", 266);
|
|
1603
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template_span_click_0_listener() { const sibling_r43 = i0.ɵɵrestoreView(_r42).$implicit; const ctx_r2 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(sibling_r43)); });
|
|
1604
|
+
i0.ɵɵtext(1);
|
|
1605
|
+
i0.ɵɵelementEnd();
|
|
1606
|
+
i0.ɵɵtext(2);
|
|
1607
|
+
} if (rf & 2) {
|
|
1608
|
+
const sibling_r43 = ctx.$implicit;
|
|
1609
|
+
const ɵ$index_1241_r44 = ctx.$index;
|
|
1610
|
+
const ɵ$count_1241_r45 = ctx.$count;
|
|
1220
1611
|
i0.ɵɵadvance();
|
|
1221
|
-
i0.ɵɵ
|
|
1612
|
+
i0.ɵɵtextInterpolate(sibling_r43.Name);
|
|
1222
1613
|
i0.ɵɵadvance();
|
|
1223
|
-
i0.ɵɵ
|
|
1614
|
+
i0.ɵɵtextInterpolate1("", ɵ$index_1241_r44 === ɵ$count_1241_r45 - 1 ? "" : ", ", " ");
|
|
1224
1615
|
} }
|
|
1225
|
-
function
|
|
1226
|
-
i0.ɵɵ
|
|
1227
|
-
i0.ɵɵ
|
|
1228
|
-
i0.ɵɵelement(2, "mj-code-editor", 273);
|
|
1616
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
1617
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1618
|
+
i0.ɵɵtext(2, "Sibling Types");
|
|
1229
1619
|
i0.ɵɵelementEnd();
|
|
1230
|
-
i0.ɵɵ
|
|
1620
|
+
i0.ɵɵelementStart(3, "span", 245);
|
|
1621
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template, 3, 2, null, null, _forTrack0);
|
|
1622
|
+
i0.ɵɵelementEnd()();
|
|
1231
1623
|
} if (rf & 2) {
|
|
1232
|
-
const
|
|
1233
|
-
|
|
1624
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1625
|
+
i0.ɵɵadvance(4);
|
|
1626
|
+
i0.ɵɵrepeater(ctx_r2.SiblingEntities);
|
|
1627
|
+
} }
|
|
1628
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
1629
|
+
i0.ɵɵelement(0, "i", 267);
|
|
1630
|
+
i0.ɵɵtext(1, " Enforced \u2014 a parent record can only be one child type ");
|
|
1631
|
+
} }
|
|
1632
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1633
|
+
i0.ɵɵelementStart(0, "span", 262);
|
|
1634
|
+
i0.ɵɵtext(1, "N/A");
|
|
1635
|
+
i0.ɵɵelementEnd();
|
|
1636
|
+
} }
|
|
1637
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
1638
|
+
i0.ɵɵelementStart(0, "div", 253)(1, "h3", 67);
|
|
1639
|
+
i0.ɵɵelement(2, "i", 46);
|
|
1640
|
+
i0.ɵɵtext(3, " Type Relationship (IS-A) ");
|
|
1641
|
+
i0.ɵɵelementEnd();
|
|
1642
|
+
i0.ɵɵelementStart(4, "div", 242)(5, "div", 260)(6, "span", 244);
|
|
1643
|
+
i0.ɵɵtext(7, "Virtual Entity");
|
|
1644
|
+
i0.ɵɵelementEnd();
|
|
1645
|
+
i0.ɵɵelementStart(8, "span", 245);
|
|
1646
|
+
i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template, 2, 0)(10, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template, 2, 0);
|
|
1647
|
+
i0.ɵɵelementEnd()();
|
|
1648
|
+
i0.ɵɵelementStart(11, "div", 260)(12, "span", 244);
|
|
1649
|
+
i0.ɵɵtext(13, "Parent Entity");
|
|
1650
|
+
i0.ɵɵelementEnd();
|
|
1651
|
+
i0.ɵɵelementStart(14, "span", 245);
|
|
1652
|
+
i0.ɵɵconditionalCreate(15, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template, 3, 1, "span", 261)(16, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template, 2, 0, "span", 262);
|
|
1653
|
+
i0.ɵɵelementEnd()();
|
|
1654
|
+
i0.ɵɵconditionalCreate(17, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template, 10, 3);
|
|
1655
|
+
i0.ɵɵconditionalCreate(18, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template, 6, 0, "div", 260);
|
|
1656
|
+
i0.ɵɵconditionalCreate(19, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template, 6, 0, "div", 260);
|
|
1657
|
+
i0.ɵɵelementStart(20, "div", 260)(21, "span", 244);
|
|
1658
|
+
i0.ɵɵtext(22, "Disjoint Subtypes");
|
|
1659
|
+
i0.ɵɵelementEnd();
|
|
1660
|
+
i0.ɵɵelementStart(23, "span", 245);
|
|
1661
|
+
i0.ɵɵconditionalCreate(24, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template, 2, 0)(25, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template, 2, 0, "span", 262);
|
|
1662
|
+
i0.ɵɵelementEnd()()()();
|
|
1663
|
+
} if (rf & 2) {
|
|
1664
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1665
|
+
i0.ɵɵadvance(9);
|
|
1666
|
+
i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 9 : 10);
|
|
1667
|
+
i0.ɵɵadvance(6);
|
|
1668
|
+
i0.ɵɵconditional(ctx_r2.IsChildType ? 15 : 16);
|
|
1234
1669
|
i0.ɵɵadvance(2);
|
|
1235
|
-
i0.ɵɵ
|
|
1670
|
+
i0.ɵɵconditional(ctx_r2.IsChildType ? 17 : -1);
|
|
1671
|
+
i0.ɵɵadvance();
|
|
1672
|
+
i0.ɵɵconditional(ctx_r2.IsParentType ? 18 : -1);
|
|
1673
|
+
i0.ɵɵadvance();
|
|
1674
|
+
i0.ɵɵconditional(ctx_r2.SiblingEntities.length > 0 ? 19 : -1);
|
|
1675
|
+
i0.ɵɵadvance(5);
|
|
1676
|
+
i0.ɵɵconditional(ctx_r2.IsParentType || ctx_r2.IsChildType ? 24 : 25);
|
|
1677
|
+
} }
|
|
1678
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
1679
|
+
i0.ɵɵelementStart(0, "div", 270);
|
|
1680
|
+
i0.ɵɵelement(1, "mj-code-editor", 273);
|
|
1681
|
+
i0.ɵɵelementEnd();
|
|
1682
|
+
} if (rf & 2) {
|
|
1683
|
+
const setting_r46 = i0.ɵɵnextContext().$implicit;
|
|
1684
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1685
|
+
i0.ɵɵadvance();
|
|
1686
|
+
i0.ɵɵproperty("value", ctx_r2.formatJsonValue(setting_r46.Value))("readonly", true)("lineWrapping", true);
|
|
1236
1687
|
} }
|
|
1237
|
-
function
|
|
1238
|
-
i0.ɵɵelementStart(0, "div",
|
|
1688
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
1689
|
+
i0.ɵɵelementStart(0, "div", 271);
|
|
1239
1690
|
i0.ɵɵtext(1);
|
|
1240
1691
|
i0.ɵɵelementEnd();
|
|
1241
1692
|
} if (rf & 2) {
|
|
1242
|
-
const
|
|
1693
|
+
const setting_r46 = i0.ɵɵnextContext().$implicit;
|
|
1243
1694
|
i0.ɵɵadvance();
|
|
1244
|
-
i0.ɵɵtextInterpolate(
|
|
1695
|
+
i0.ɵɵtextInterpolate(setting_r46.Value);
|
|
1245
1696
|
} }
|
|
1246
|
-
function
|
|
1247
|
-
i0.ɵɵelementStart(0, "div",
|
|
1697
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
1698
|
+
i0.ɵɵelementStart(0, "div", 272);
|
|
1248
1699
|
i0.ɵɵtext(1);
|
|
1249
1700
|
i0.ɵɵelementEnd();
|
|
1250
1701
|
} if (rf & 2) {
|
|
1251
|
-
const
|
|
1702
|
+
const setting_r46 = i0.ɵɵnextContext().$implicit;
|
|
1252
1703
|
i0.ɵɵadvance();
|
|
1253
|
-
i0.ɵɵtextInterpolate(
|
|
1704
|
+
i0.ɵɵtextInterpolate(setting_r46.Comments);
|
|
1254
1705
|
} }
|
|
1255
|
-
function
|
|
1706
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
1256
1707
|
i0.ɵɵelementStart(0, "div", 268)(1, "div", 269);
|
|
1257
1708
|
i0.ɵɵtext(2);
|
|
1258
1709
|
i0.ɵɵelementEnd();
|
|
1259
|
-
i0.ɵɵ
|
|
1710
|
+
i0.ɵɵconditionalCreate(3, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template, 2, 3, "div", 270)(4, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template, 2, 1, "div", 271);
|
|
1711
|
+
i0.ɵɵconditionalCreate(5, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template, 2, 1, "div", 272);
|
|
1260
1712
|
i0.ɵɵelementEnd();
|
|
1261
1713
|
} if (rf & 2) {
|
|
1262
|
-
const
|
|
1263
|
-
const
|
|
1264
|
-
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
1714
|
+
const setting_r46 = ctx.$implicit;
|
|
1715
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1265
1716
|
i0.ɵɵadvance(2);
|
|
1266
|
-
i0.ɵɵtextInterpolate(
|
|
1717
|
+
i0.ɵɵtextInterpolate(setting_r46.Name);
|
|
1267
1718
|
i0.ɵɵadvance();
|
|
1268
|
-
i0.ɵɵ
|
|
1269
|
-
i0.ɵɵadvance(
|
|
1270
|
-
i0.ɵɵ
|
|
1719
|
+
i0.ɵɵconditional(ctx_r2.isJsonValue(setting_r46.Value) ? 3 : 4);
|
|
1720
|
+
i0.ɵɵadvance(2);
|
|
1721
|
+
i0.ɵɵconditional(setting_r46.Comments ? 5 : -1);
|
|
1271
1722
|
} }
|
|
1272
|
-
function
|
|
1273
|
-
i0.ɵɵelementStart(0, "div",
|
|
1274
|
-
i0.ɵɵ
|
|
1723
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
1724
|
+
i0.ɵɵelementStart(0, "div", 256);
|
|
1725
|
+
i0.ɵɵrepeaterCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template, 6, 3, "div", 268, i0.ɵɵrepeaterTrackByIdentity);
|
|
1275
1726
|
i0.ɵɵelementEnd();
|
|
1276
1727
|
} if (rf & 2) {
|
|
1277
|
-
const
|
|
1728
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1278
1729
|
i0.ɵɵadvance();
|
|
1279
|
-
i0.ɵɵ
|
|
1730
|
+
i0.ɵɵrepeater(ctx_r2.entity.Settings);
|
|
1280
1731
|
} }
|
|
1281
|
-
function
|
|
1282
|
-
i0.ɵɵelementStart(0, "div",
|
|
1732
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
1733
|
+
i0.ɵɵelementStart(0, "div", 204)(1, "p");
|
|
1283
1734
|
i0.ɵɵtext(2, "No custom settings configured");
|
|
1284
1735
|
i0.ɵɵelementEnd()();
|
|
1285
1736
|
} }
|
|
1286
|
-
function
|
|
1287
|
-
i0.ɵɵelementStart(0, "div",
|
|
1737
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
1738
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1288
1739
|
i0.ɵɵtext(2, "Catalog");
|
|
1289
1740
|
i0.ɵɵelementEnd();
|
|
1290
|
-
i0.ɵɵelementStart(3, "span",
|
|
1741
|
+
i0.ɵɵelementStart(3, "span", 276);
|
|
1291
1742
|
i0.ɵɵtext(4);
|
|
1292
1743
|
i0.ɵɵelementEnd()();
|
|
1293
1744
|
} if (rf & 2) {
|
|
1294
|
-
const
|
|
1745
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1295
1746
|
i0.ɵɵadvance(4);
|
|
1296
|
-
i0.ɵɵtextInterpolate(
|
|
1747
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextCatalog);
|
|
1297
1748
|
} }
|
|
1298
|
-
function
|
|
1299
|
-
i0.ɵɵelementStart(0, "div",
|
|
1749
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
1750
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1300
1751
|
i0.ɵɵtext(2, "Index");
|
|
1301
1752
|
i0.ɵɵelementEnd();
|
|
1302
|
-
i0.ɵɵelementStart(3, "span",
|
|
1753
|
+
i0.ɵɵelementStart(3, "span", 276);
|
|
1303
1754
|
i0.ɵɵtext(4);
|
|
1304
1755
|
i0.ɵɵelementEnd()();
|
|
1305
1756
|
} if (rf & 2) {
|
|
1306
|
-
const
|
|
1757
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1307
1758
|
i0.ɵɵadvance(4);
|
|
1308
|
-
i0.ɵɵtextInterpolate(
|
|
1759
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextIndex);
|
|
1309
1760
|
} }
|
|
1310
|
-
function
|
|
1311
|
-
i0.ɵɵelementStart(0, "div",
|
|
1761
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
1762
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1312
1763
|
i0.ɵɵtext(2, "Function");
|
|
1313
1764
|
i0.ɵɵelementEnd();
|
|
1314
|
-
i0.ɵɵelementStart(3, "span",
|
|
1765
|
+
i0.ɵɵelementStart(3, "span", 276);
|
|
1315
1766
|
i0.ɵɵtext(4);
|
|
1316
1767
|
i0.ɵɵelementEnd()();
|
|
1317
1768
|
} if (rf & 2) {
|
|
1318
|
-
const
|
|
1769
|
+
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1319
1770
|
i0.ɵɵadvance(4);
|
|
1320
|
-
i0.ɵɵtextInterpolate(
|
|
1771
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextSearchFunction);
|
|
1321
1772
|
} }
|
|
1322
|
-
function
|
|
1323
|
-
i0.ɵɵelementStart(0, "div",
|
|
1773
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1774
|
+
i0.ɵɵelementStart(0, "div", 258)(1, "div", 260)(2, "span", 244);
|
|
1324
1775
|
i0.ɵɵtext(3, "Status");
|
|
1325
1776
|
i0.ɵɵelementEnd();
|
|
1326
|
-
i0.ɵɵelementStart(4, "span",
|
|
1327
|
-
i0.ɵɵelement(5, "i",
|
|
1777
|
+
i0.ɵɵelementStart(4, "span", 274);
|
|
1778
|
+
i0.ɵɵelement(5, "i", 275);
|
|
1328
1779
|
i0.ɵɵtext(6, " Enabled ");
|
|
1329
1780
|
i0.ɵɵelementEnd()();
|
|
1330
|
-
i0.ɵɵ
|
|
1781
|
+
i0.ɵɵconditionalCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template, 5, 1, "div", 260);
|
|
1782
|
+
i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template, 5, 1, "div", 260);
|
|
1783
|
+
i0.ɵɵconditionalCreate(9, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template, 5, 1, "div", 260);
|
|
1331
1784
|
i0.ɵɵelementEnd();
|
|
1332
1785
|
} if (rf & 2) {
|
|
1333
|
-
const
|
|
1786
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1334
1787
|
i0.ɵɵadvance(7);
|
|
1335
|
-
i0.ɵɵ
|
|
1788
|
+
i0.ɵɵconditional(ctx_r2.entity.FullTextCatalog ? 7 : -1);
|
|
1336
1789
|
i0.ɵɵadvance();
|
|
1337
|
-
i0.ɵɵ
|
|
1790
|
+
i0.ɵɵconditional(ctx_r2.entity.FullTextIndex ? 8 : -1);
|
|
1338
1791
|
i0.ɵɵadvance();
|
|
1339
|
-
i0.ɵɵ
|
|
1792
|
+
i0.ɵɵconditional(ctx_r2.entity.FullTextSearchFunction ? 9 : -1);
|
|
1340
1793
|
} }
|
|
1341
|
-
function
|
|
1342
|
-
i0.ɵɵelementStart(0, "div",
|
|
1794
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
1795
|
+
i0.ɵɵelementStart(0, "div", 204)(1, "p");
|
|
1343
1796
|
i0.ɵɵtext(2, "Full-text search is not enabled for this entity");
|
|
1344
1797
|
i0.ɵɵelementEnd()();
|
|
1345
1798
|
} }
|
|
1346
|
-
function
|
|
1347
|
-
i0.ɵɵelementStart(0, "div",
|
|
1799
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1800
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1348
1801
|
i0.ɵɵtext(2, "Sample Count");
|
|
1349
1802
|
i0.ɵɵelementEnd();
|
|
1350
|
-
i0.ɵɵelementStart(3, "span",
|
|
1803
|
+
i0.ɵɵelementStart(3, "span", 245);
|
|
1351
1804
|
i0.ɵɵtext(4);
|
|
1352
1805
|
i0.ɵɵelementEnd()();
|
|
1353
1806
|
} if (rf & 2) {
|
|
1354
|
-
const
|
|
1807
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1355
1808
|
i0.ɵɵadvance(4);
|
|
1356
|
-
i0.ɵɵtextInterpolate(
|
|
1809
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleCount);
|
|
1357
1810
|
} }
|
|
1358
|
-
function
|
|
1359
|
-
i0.ɵɵelementStart(0, "div",
|
|
1811
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1812
|
+
i0.ɵɵelementStart(0, "div", 260)(1, "span", 244);
|
|
1360
1813
|
i0.ɵɵtext(2, "Sample Method");
|
|
1361
1814
|
i0.ɵɵelementEnd();
|
|
1362
|
-
i0.ɵɵelementStart(3, "span",
|
|
1815
|
+
i0.ɵɵelementStart(3, "span", 245);
|
|
1363
1816
|
i0.ɵɵtext(4);
|
|
1364
1817
|
i0.ɵɵelementEnd()();
|
|
1365
1818
|
} if (rf & 2) {
|
|
1366
|
-
const
|
|
1819
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1367
1820
|
i0.ɵɵadvance(4);
|
|
1368
|
-
i0.ɵɵtextInterpolate(
|
|
1821
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleMethod);
|
|
1369
1822
|
} }
|
|
1370
|
-
function
|
|
1371
|
-
i0.ɵɵelementStart(0, "section",
|
|
1372
|
-
i0.ɵɵ
|
|
1373
|
-
i0.ɵɵ
|
|
1823
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
1824
|
+
i0.ɵɵelementStart(0, "section", 36)(1, "div", 51);
|
|
1825
|
+
i0.ɵɵconditionalCreate(2, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template, 26, 6, "div", 253);
|
|
1826
|
+
i0.ɵɵelementStart(3, "div", 254)(4, "h3", 67);
|
|
1827
|
+
i0.ɵɵelement(5, "i", 255);
|
|
1828
|
+
i0.ɵɵtext(6, " Entity Settings ");
|
|
1374
1829
|
i0.ɵɵelementEnd();
|
|
1375
|
-
i0.ɵɵ
|
|
1830
|
+
i0.ɵɵconditionalCreate(7, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template, 3, 0, "div", 256);
|
|
1831
|
+
i0.ɵɵconditionalCreate(8, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template, 3, 0, "div", 204);
|
|
1376
1832
|
i0.ɵɵelementEnd();
|
|
1377
|
-
i0.ɵɵelementStart(
|
|
1378
|
-
i0.ɵɵelement(
|
|
1379
|
-
i0.ɵɵtext(
|
|
1833
|
+
i0.ɵɵelementStart(9, "div", 254)(10, "h3", 67);
|
|
1834
|
+
i0.ɵɵelement(11, "i", 257);
|
|
1835
|
+
i0.ɵɵtext(12, " Full-Text Search ");
|
|
1380
1836
|
i0.ɵɵelementEnd();
|
|
1381
|
-
i0.ɵɵ
|
|
1837
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template, 10, 3, "div", 258);
|
|
1838
|
+
i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template, 3, 0, "div", 204);
|
|
1382
1839
|
i0.ɵɵelementEnd();
|
|
1383
|
-
i0.ɵɵelementStart(
|
|
1384
|
-
i0.ɵɵelement(
|
|
1385
|
-
i0.ɵɵtext(
|
|
1840
|
+
i0.ɵɵelementStart(15, "div", 254)(16, "h3", 67);
|
|
1841
|
+
i0.ɵɵelement(17, "i", 259);
|
|
1842
|
+
i0.ɵɵtext(18, " Schema Packaging ");
|
|
1386
1843
|
i0.ɵɵelementEnd();
|
|
1387
|
-
i0.ɵɵelementStart(
|
|
1388
|
-
i0.ɵɵtext(
|
|
1844
|
+
i0.ɵɵelementStart(19, "div", 242)(20, "div", 260)(21, "span", 244);
|
|
1845
|
+
i0.ɵɵtext(22, "Rows to Pack");
|
|
1389
1846
|
i0.ɵɵelementEnd();
|
|
1390
|
-
i0.ɵɵelementStart(
|
|
1391
|
-
i0.ɵɵtext(
|
|
1847
|
+
i0.ɵɵelementStart(23, "span", 245);
|
|
1848
|
+
i0.ɵɵtext(24);
|
|
1392
1849
|
i0.ɵɵelementEnd()();
|
|
1393
|
-
i0.ɵɵ
|
|
1850
|
+
i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template, 5, 1, "div", 260);
|
|
1851
|
+
i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template, 5, 1, "div", 260);
|
|
1394
1852
|
i0.ɵɵelementEnd()()()();
|
|
1395
1853
|
} if (rf & 2) {
|
|
1396
|
-
const
|
|
1397
|
-
i0.ɵɵadvance(
|
|
1398
|
-
i0.ɵɵ
|
|
1854
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1855
|
+
i0.ɵɵadvance(2);
|
|
1856
|
+
i0.ɵɵconditional(ctx_r2.HasISARelationship || ctx_r2.IsVirtualEntity ? 2 : -1);
|
|
1857
|
+
i0.ɵɵadvance(5);
|
|
1858
|
+
i0.ɵɵconditional(ctx_r2.entity.Settings.length > 0 ? 7 : -1);
|
|
1399
1859
|
i0.ɵɵadvance();
|
|
1400
|
-
i0.ɵɵ
|
|
1860
|
+
i0.ɵɵconditional(ctx_r2.entity.Settings.length === 0 ? 8 : -1);
|
|
1401
1861
|
i0.ɵɵadvance(5);
|
|
1402
|
-
i0.ɵɵ
|
|
1862
|
+
i0.ɵɵconditional(ctx_r2.entity.FullTextSearchEnabled ? 13 : -1);
|
|
1403
1863
|
i0.ɵɵadvance();
|
|
1404
|
-
i0.ɵɵ
|
|
1864
|
+
i0.ɵɵconditional(!ctx_r2.entity.FullTextSearchEnabled ? 14 : -1);
|
|
1405
1865
|
i0.ɵɵadvance(10);
|
|
1406
|
-
i0.ɵɵtextInterpolate(
|
|
1866
|
+
i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackWithSchema || "None");
|
|
1407
1867
|
i0.ɵɵadvance();
|
|
1408
|
-
i0.ɵɵ
|
|
1868
|
+
i0.ɵɵconditional(ctx_r2.entity.RowsToPackSampleCount ? 25 : -1);
|
|
1409
1869
|
i0.ɵɵadvance();
|
|
1410
|
-
i0.ɵɵ
|
|
1870
|
+
i0.ɵɵconditional(ctx_r2.entity.RowsToPackSampleMethod ? 26 : -1);
|
|
1411
1871
|
} }
|
|
1412
|
-
function
|
|
1872
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_60_Template(rf, ctx) { if (rf & 1) {
|
|
1413
1873
|
i0.ɵɵelementStart(0, "h3");
|
|
1414
1874
|
i0.ɵɵtext(1, "Field Details");
|
|
1415
1875
|
i0.ɵɵelementEnd();
|
|
1416
1876
|
} }
|
|
1417
|
-
function
|
|
1877
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_61_Template(rf, ctx) { if (rf & 1) {
|
|
1418
1878
|
i0.ɵɵelementStart(0, "h3");
|
|
1419
1879
|
i0.ɵɵtext(1, "Relationship Details");
|
|
1420
1880
|
i0.ɵɵelementEnd();
|
|
1421
1881
|
} }
|
|
1422
|
-
function
|
|
1423
|
-
i0.ɵɵelementStart(0, "p",
|
|
1882
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
1883
|
+
i0.ɵɵelementStart(0, "p", 278);
|
|
1424
1884
|
i0.ɵɵtext(1);
|
|
1425
1885
|
i0.ɵɵelementEnd();
|
|
1426
1886
|
} if (rf & 2) {
|
|
1427
|
-
const
|
|
1887
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1428
1888
|
i0.ɵɵadvance();
|
|
1429
|
-
i0.ɵɵtextInterpolate(
|
|
1889
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.Description);
|
|
1430
1890
|
} }
|
|
1431
|
-
function
|
|
1432
|
-
i0.ɵɵelementStart(0, "div",
|
|
1891
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
1892
|
+
i0.ɵɵelementStart(0, "div", 280)(1, "span", 281);
|
|
1433
1893
|
i0.ɵɵtext(2, "Default");
|
|
1434
1894
|
i0.ɵɵelementEnd();
|
|
1435
|
-
i0.ɵɵelementStart(3, "span",
|
|
1895
|
+
i0.ɵɵelementStart(3, "span", 282);
|
|
1436
1896
|
i0.ɵɵtext(4);
|
|
1437
1897
|
i0.ɵɵelementEnd()();
|
|
1438
1898
|
} if (rf & 2) {
|
|
1439
|
-
const
|
|
1899
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1440
1900
|
i0.ɵɵadvance(4);
|
|
1441
|
-
i0.ɵɵtextInterpolate(
|
|
1901
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.DefaultValue);
|
|
1442
1902
|
} }
|
|
1443
|
-
function
|
|
1444
|
-
const
|
|
1445
|
-
i0.ɵɵelementStart(0, "div",
|
|
1903
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1904
|
+
const _r47 = i0.ɵɵgetCurrentView();
|
|
1905
|
+
i0.ɵɵelementStart(0, "div", 284)(1, "h5");
|
|
1906
|
+
i0.ɵɵelement(2, "i", 44);
|
|
1907
|
+
i0.ɵɵtext(3, " IS-A Inherited Field ");
|
|
1908
|
+
i0.ɵɵelementEnd();
|
|
1909
|
+
i0.ɵɵelementStart(4, "div", 279)(5, "div", 280)(6, "span", 281);
|
|
1910
|
+
i0.ɵɵtext(7, "Source Entity");
|
|
1911
|
+
i0.ɵɵelementEnd();
|
|
1912
|
+
i0.ɵɵelementStart(8, "span", 285);
|
|
1913
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template_span_click_8_listener() { i0.ɵɵrestoreView(_r47); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.NavigateToEntity(ctx_r2.ParentChain[0])); });
|
|
1914
|
+
i0.ɵɵtext(9);
|
|
1915
|
+
i0.ɵɵelement(10, "i", 60);
|
|
1916
|
+
i0.ɵɵelementEnd()();
|
|
1917
|
+
i0.ɵɵelementStart(11, "div", 280)(12, "span", 281);
|
|
1918
|
+
i0.ɵɵtext(13, "Routing");
|
|
1919
|
+
i0.ɵɵelementEnd();
|
|
1920
|
+
i0.ɵɵelementStart(14, "span", 283);
|
|
1921
|
+
i0.ɵɵtext(15, "ORM routes Set/Get to parent");
|
|
1922
|
+
i0.ɵɵelementEnd()()()();
|
|
1923
|
+
} if (rf & 2) {
|
|
1924
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1925
|
+
i0.ɵɵadvance(9);
|
|
1926
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(ctx_r2.selectedField), " ");
|
|
1927
|
+
} }
|
|
1928
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1929
|
+
const _r48 = i0.ɵɵgetCurrentView();
|
|
1930
|
+
i0.ɵɵelementStart(0, "div", 277)(1, "h5");
|
|
1446
1931
|
i0.ɵɵtext(2, "Relationship");
|
|
1447
1932
|
i0.ɵɵelementEnd();
|
|
1448
|
-
i0.ɵɵelementStart(3, "div",
|
|
1933
|
+
i0.ɵɵelementStart(3, "div", 279)(4, "div", 280)(5, "span", 281);
|
|
1449
1934
|
i0.ɵɵtext(6, "Related Entity");
|
|
1450
1935
|
i0.ɵɵelementEnd();
|
|
1451
|
-
i0.ɵɵelementStart(7, "span",
|
|
1452
|
-
i0.ɵɵlistener("click", function
|
|
1936
|
+
i0.ɵɵelementStart(7, "span", 286);
|
|
1937
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template_span_click_7_listener() { i0.ɵɵrestoreView(_r48); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r2.navigateToRelatedEntity(ctx_r2.selectedField)); });
|
|
1453
1938
|
i0.ɵɵtext(8);
|
|
1454
1939
|
i0.ɵɵelement(9, "i", 60);
|
|
1455
1940
|
i0.ɵɵelementEnd()();
|
|
1456
|
-
i0.ɵɵelementStart(10, "div",
|
|
1941
|
+
i0.ɵɵelementStart(10, "div", 280)(11, "span", 281);
|
|
1457
1942
|
i0.ɵɵtext(12, "Display Type");
|
|
1458
1943
|
i0.ɵɵelementEnd();
|
|
1459
|
-
i0.ɵɵelementStart(13, "span",
|
|
1944
|
+
i0.ɵɵelementStart(13, "span", 283);
|
|
1460
1945
|
i0.ɵɵtext(14);
|
|
1461
1946
|
i0.ɵɵelementEnd()()()();
|
|
1462
1947
|
} if (rf & 2) {
|
|
1463
|
-
const
|
|
1948
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1464
1949
|
i0.ɵɵadvance(8);
|
|
1465
|
-
i0.ɵɵtextInterpolate1(" ",
|
|
1950
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.getRelatedEntityName(ctx_r2.selectedField), " ");
|
|
1466
1951
|
i0.ɵɵadvance(6);
|
|
1467
|
-
i0.ɵɵtextInterpolate(
|
|
1952
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.RelatedEntityDisplayType);
|
|
1468
1953
|
} }
|
|
1469
|
-
function
|
|
1470
|
-
i0.ɵɵelementStart(0, "div",
|
|
1954
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
1955
|
+
i0.ɵɵelementStart(0, "div", 277)(1, "h5");
|
|
1471
1956
|
i0.ɵɵtext(2, "Encryption");
|
|
1472
1957
|
i0.ɵɵelementEnd();
|
|
1473
|
-
i0.ɵɵelementStart(3, "div",
|
|
1958
|
+
i0.ɵɵelementStart(3, "div", 279)(4, "div", 280)(5, "span", 281);
|
|
1474
1959
|
i0.ɵɵtext(6, "Encrypted");
|
|
1475
1960
|
i0.ɵɵelementEnd();
|
|
1476
|
-
i0.ɵɵelementStart(7, "span",
|
|
1961
|
+
i0.ɵɵelementStart(7, "span", 283);
|
|
1477
1962
|
i0.ɵɵtext(8, "Yes");
|
|
1478
1963
|
i0.ɵɵelementEnd()();
|
|
1479
|
-
i0.ɵɵelementStart(9, "div",
|
|
1964
|
+
i0.ɵɵelementStart(9, "div", 280)(10, "span", 281);
|
|
1480
1965
|
i0.ɵɵtext(11, "Decrypt in API");
|
|
1481
1966
|
i0.ɵɵelementEnd();
|
|
1482
|
-
i0.ɵɵelementStart(12, "span",
|
|
1967
|
+
i0.ɵɵelementStart(12, "span", 283);
|
|
1483
1968
|
i0.ɵɵtext(13);
|
|
1484
1969
|
i0.ɵɵelementEnd()()()();
|
|
1485
1970
|
} if (rf & 2) {
|
|
1486
|
-
const
|
|
1971
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1487
1972
|
i0.ɵɵadvance(13);
|
|
1488
|
-
i0.ɵɵtextInterpolate(
|
|
1973
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowDecryptInAPI ? "Yes" : "No");
|
|
1489
1974
|
} }
|
|
1490
|
-
function
|
|
1491
|
-
i0.ɵɵelementStart(0, "div",
|
|
1975
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template(rf, ctx) { if (rf & 1) {
|
|
1976
|
+
i0.ɵɵelementStart(0, "div", 280)(1, "span", 281);
|
|
1492
1977
|
i0.ɵɵtext(2, "Category");
|
|
1493
1978
|
i0.ɵɵelementEnd();
|
|
1494
|
-
i0.ɵɵelementStart(3, "span",
|
|
1979
|
+
i0.ɵɵelementStart(3, "span", 283);
|
|
1495
1980
|
i0.ɵɵtext(4);
|
|
1496
1981
|
i0.ɵɵelementEnd()();
|
|
1497
1982
|
} if (rf & 2) {
|
|
1498
|
-
const
|
|
1983
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1499
1984
|
i0.ɵɵadvance(4);
|
|
1500
|
-
i0.ɵɵtextInterpolate(
|
|
1985
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.Category);
|
|
1501
1986
|
} }
|
|
1502
|
-
function
|
|
1503
|
-
i0.ɵɵelementStart(0, "span",
|
|
1987
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
1988
|
+
i0.ɵɵelementStart(0, "span", 289);
|
|
1504
1989
|
i0.ɵɵtext(1);
|
|
1505
1990
|
i0.ɵɵelementEnd();
|
|
1506
1991
|
} if (rf & 2) {
|
|
1507
|
-
const
|
|
1992
|
+
const val_r49 = i0.ɵɵnextContext().$implicit;
|
|
1508
1993
|
i0.ɵɵadvance();
|
|
1509
|
-
i0.ɵɵtextInterpolate(
|
|
1994
|
+
i0.ɵɵtextInterpolate(val_r49.Code);
|
|
1510
1995
|
} }
|
|
1511
|
-
function
|
|
1512
|
-
i0.ɵɵelementStart(0, "div",
|
|
1513
|
-
i0.ɵɵ
|
|
1514
|
-
i0.ɵɵelementStart(2, "span",
|
|
1996
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
1997
|
+
i0.ɵɵelementStart(0, "div", 288);
|
|
1998
|
+
i0.ɵɵconditionalCreate(1, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template, 2, 1, "span", 289);
|
|
1999
|
+
i0.ɵɵelementStart(2, "span", 290);
|
|
1515
2000
|
i0.ɵɵtext(3);
|
|
1516
2001
|
i0.ɵɵelementEnd()();
|
|
1517
2002
|
} if (rf & 2) {
|
|
1518
|
-
const
|
|
2003
|
+
const val_r49 = ctx.$implicit;
|
|
1519
2004
|
i0.ɵɵadvance();
|
|
1520
|
-
i0.ɵɵ
|
|
2005
|
+
i0.ɵɵconditional(val_r49.Code !== val_r49.Value ? 1 : -1);
|
|
1521
2006
|
i0.ɵɵadvance(2);
|
|
1522
|
-
i0.ɵɵtextInterpolate(
|
|
2007
|
+
i0.ɵɵtextInterpolate(val_r49.Value);
|
|
1523
2008
|
} }
|
|
1524
|
-
function
|
|
1525
|
-
i0.ɵɵelementStart(0, "div",
|
|
2009
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template(rf, ctx) { if (rf & 1) {
|
|
2010
|
+
i0.ɵɵelementStart(0, "div", 277)(1, "h5");
|
|
1526
2011
|
i0.ɵɵtext(2, "Allowed Values");
|
|
1527
2012
|
i0.ɵɵelementEnd();
|
|
1528
|
-
i0.ɵɵelementStart(3, "div",
|
|
1529
|
-
i0.ɵɵ
|
|
2013
|
+
i0.ɵɵelementStart(3, "div", 287);
|
|
2014
|
+
i0.ɵɵrepeaterCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template, 4, 2, "div", 288, i0.ɵɵrepeaterTrackByIdentity);
|
|
1530
2015
|
i0.ɵɵelementEnd()();
|
|
1531
2016
|
} if (rf & 2) {
|
|
1532
|
-
const
|
|
2017
|
+
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1533
2018
|
i0.ɵɵadvance(4);
|
|
1534
|
-
i0.ɵɵ
|
|
2019
|
+
i0.ɵɵrepeater(ctx_r2.selectedField.EntityFieldValues);
|
|
1535
2020
|
} }
|
|
1536
|
-
function
|
|
1537
|
-
i0.ɵɵelementStart(0, "div",
|
|
2021
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, ctx) { if (rf & 1) {
|
|
2022
|
+
i0.ɵɵelementStart(0, "div", 41)(1, "div", 277)(2, "h4");
|
|
1538
2023
|
i0.ɵɵtext(3);
|
|
1539
2024
|
i0.ɵɵelementEnd();
|
|
1540
|
-
i0.ɵɵ
|
|
2025
|
+
i0.ɵɵconditionalCreate(4, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template, 2, 1, "p", 278);
|
|
1541
2026
|
i0.ɵɵelementEnd();
|
|
1542
|
-
i0.ɵɵelementStart(5, "div",
|
|
2027
|
+
i0.ɵɵelementStart(5, "div", 277)(6, "h5");
|
|
1543
2028
|
i0.ɵɵtext(7, "Type Information");
|
|
1544
2029
|
i0.ɵɵelementEnd();
|
|
1545
|
-
i0.ɵɵelementStart(8, "div",
|
|
2030
|
+
i0.ɵɵelementStart(8, "div", 279)(9, "div", 280)(10, "span", 281);
|
|
1546
2031
|
i0.ɵɵtext(11, "SQL Type");
|
|
1547
2032
|
i0.ɵɵelementEnd();
|
|
1548
|
-
i0.ɵɵelementStart(12, "span",
|
|
2033
|
+
i0.ɵɵelementStart(12, "span", 282);
|
|
1549
2034
|
i0.ɵɵtext(13);
|
|
1550
2035
|
i0.ɵɵelementEnd()();
|
|
1551
|
-
i0.ɵɵelementStart(14, "div",
|
|
2036
|
+
i0.ɵɵelementStart(14, "div", 280)(15, "span", 281);
|
|
1552
2037
|
i0.ɵɵtext(16, "TypeScript Type");
|
|
1553
2038
|
i0.ɵɵelementEnd();
|
|
1554
|
-
i0.ɵɵelementStart(17, "span",
|
|
2039
|
+
i0.ɵɵelementStart(17, "span", 282);
|
|
1555
2040
|
i0.ɵɵtext(18);
|
|
1556
2041
|
i0.ɵɵelementEnd()();
|
|
1557
|
-
i0.ɵɵelementStart(19, "div",
|
|
2042
|
+
i0.ɵɵelementStart(19, "div", 280)(20, "span", 281);
|
|
1558
2043
|
i0.ɵɵtext(21, "Nullable");
|
|
1559
2044
|
i0.ɵɵelementEnd();
|
|
1560
|
-
i0.ɵɵelementStart(22, "span",
|
|
2045
|
+
i0.ɵɵelementStart(22, "span", 283);
|
|
1561
2046
|
i0.ɵɵtext(23);
|
|
1562
2047
|
i0.ɵɵelementEnd()();
|
|
1563
|
-
i0.ɵɵ
|
|
2048
|
+
i0.ɵɵconditionalCreate(24, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template, 5, 1, "div", 280);
|
|
1564
2049
|
i0.ɵɵelementEnd()();
|
|
1565
|
-
i0.ɵɵ
|
|
1566
|
-
i0.ɵɵ
|
|
1567
|
-
i0.ɵɵ
|
|
2050
|
+
i0.ɵɵconditionalCreate(25, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template, 16, 1, "div", 284);
|
|
2051
|
+
i0.ɵɵconditionalCreate(26, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template, 15, 2, "div", 277);
|
|
2052
|
+
i0.ɵɵconditionalCreate(27, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template, 14, 1, "div", 277);
|
|
2053
|
+
i0.ɵɵelementStart(28, "div", 277)(29, "h5");
|
|
2054
|
+
i0.ɵɵtext(30, "API Settings");
|
|
1568
2055
|
i0.ɵɵelementEnd();
|
|
1569
|
-
i0.ɵɵelementStart(
|
|
1570
|
-
i0.ɵɵtext(
|
|
2056
|
+
i0.ɵɵelementStart(31, "div", 279)(32, "div", 280)(33, "span", 281);
|
|
2057
|
+
i0.ɵɵtext(34, "Allow Update");
|
|
1571
2058
|
i0.ɵɵelementEnd();
|
|
1572
|
-
i0.ɵɵelementStart(
|
|
1573
|
-
i0.ɵɵtext(
|
|
2059
|
+
i0.ɵɵelementStart(35, "span", 283);
|
|
2060
|
+
i0.ɵɵtext(36);
|
|
1574
2061
|
i0.ɵɵelementEnd()();
|
|
1575
|
-
i0.ɵɵelementStart(
|
|
1576
|
-
i0.ɵɵtext(
|
|
2062
|
+
i0.ɵɵelementStart(37, "div", 280)(38, "span", 281);
|
|
2063
|
+
i0.ɵɵtext(39, "Include in Search");
|
|
1577
2064
|
i0.ɵɵelementEnd();
|
|
1578
|
-
i0.ɵɵelementStart(
|
|
1579
|
-
i0.ɵɵtext(
|
|
2065
|
+
i0.ɵɵelementStart(40, "span", 283);
|
|
2066
|
+
i0.ɵɵtext(41);
|
|
1580
2067
|
i0.ɵɵelementEnd()();
|
|
1581
|
-
i0.ɵɵelementStart(
|
|
1582
|
-
i0.ɵɵtext(
|
|
2068
|
+
i0.ɵɵelementStart(42, "div", 280)(43, "span", 281);
|
|
2069
|
+
i0.ɵɵtext(44, "Full-Text Search");
|
|
1583
2070
|
i0.ɵɵelementEnd();
|
|
1584
|
-
i0.ɵɵelementStart(
|
|
1585
|
-
i0.ɵɵtext(
|
|
2071
|
+
i0.ɵɵelementStart(45, "span", 283);
|
|
2072
|
+
i0.ɵɵtext(46);
|
|
1586
2073
|
i0.ɵɵelementEnd()()()();
|
|
1587
|
-
i0.ɵɵelementStart(
|
|
1588
|
-
i0.ɵɵtext(
|
|
2074
|
+
i0.ɵɵelementStart(47, "div", 277)(48, "h5");
|
|
2075
|
+
i0.ɵɵtext(49, "Form Settings");
|
|
1589
2076
|
i0.ɵɵelementEnd();
|
|
1590
|
-
i0.ɵɵelementStart(
|
|
1591
|
-
i0.ɵɵtext(
|
|
2077
|
+
i0.ɵɵelementStart(50, "div", 279)(51, "div", 280)(52, "span", 281);
|
|
2078
|
+
i0.ɵɵtext(53, "Include in Form");
|
|
1592
2079
|
i0.ɵɵelementEnd();
|
|
1593
|
-
i0.ɵɵelementStart(
|
|
1594
|
-
i0.ɵɵtext(
|
|
2080
|
+
i0.ɵɵelementStart(54, "span", 283);
|
|
2081
|
+
i0.ɵɵtext(55);
|
|
1595
2082
|
i0.ɵɵelementEnd()();
|
|
1596
|
-
i0.ɵɵelementStart(
|
|
1597
|
-
i0.ɵɵtext(
|
|
2083
|
+
i0.ɵɵelementStart(56, "div", 280)(57, "span", 281);
|
|
2084
|
+
i0.ɵɵtext(58, "Section");
|
|
1598
2085
|
i0.ɵɵelementEnd();
|
|
1599
|
-
i0.ɵɵelementStart(
|
|
1600
|
-
i0.ɵɵtext(
|
|
2086
|
+
i0.ɵɵelementStart(59, "span", 283);
|
|
2087
|
+
i0.ɵɵtext(60);
|
|
1601
2088
|
i0.ɵɵelementEnd()();
|
|
1602
|
-
i0.ɵɵ
|
|
1603
|
-
i0.ɵɵelementStart(
|
|
1604
|
-
i0.ɵɵtext(
|
|
2089
|
+
i0.ɵɵconditionalCreate(61, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template, 5, 1, "div", 280);
|
|
2090
|
+
i0.ɵɵelementStart(62, "div", 280)(63, "span", 281);
|
|
2091
|
+
i0.ɵɵtext(64, "Sequence");
|
|
1605
2092
|
i0.ɵɵelementEnd();
|
|
1606
|
-
i0.ɵɵelementStart(
|
|
1607
|
-
i0.ɵɵtext(
|
|
2093
|
+
i0.ɵɵelementStart(65, "span", 283);
|
|
2094
|
+
i0.ɵɵtext(66);
|
|
1608
2095
|
i0.ɵɵelementEnd()()()();
|
|
1609
|
-
i0.ɵɵ
|
|
2096
|
+
i0.ɵɵconditionalCreate(67, EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template, 6, 0, "div", 277);
|
|
1610
2097
|
i0.ɵɵelementEnd();
|
|
1611
2098
|
} if (rf & 2) {
|
|
1612
|
-
const
|
|
2099
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1613
2100
|
i0.ɵɵadvance(3);
|
|
1614
|
-
i0.ɵɵtextInterpolate(
|
|
2101
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.DisplayName || ctx_r2.selectedField.Name);
|
|
1615
2102
|
i0.ɵɵadvance();
|
|
1616
|
-
i0.ɵɵ
|
|
2103
|
+
i0.ɵɵconditional(ctx_r2.selectedField.Description ? 4 : -1);
|
|
1617
2104
|
i0.ɵɵadvance(9);
|
|
1618
|
-
i0.ɵɵtextInterpolate(
|
|
2105
|
+
i0.ɵɵtextInterpolate(ctx_r2.formatFieldType(ctx_r2.selectedField));
|
|
1619
2106
|
i0.ɵɵadvance(5);
|
|
1620
|
-
i0.ɵɵtextInterpolate(
|
|
2107
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.TSType);
|
|
1621
2108
|
i0.ɵɵadvance(5);
|
|
1622
|
-
i0.ɵɵtextInterpolate(
|
|
2109
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowsNull ? "Yes" : "No");
|
|
2110
|
+
i0.ɵɵadvance();
|
|
2111
|
+
i0.ɵɵconditional(ctx_r2.selectedField.DefaultValue ? 24 : -1);
|
|
1623
2112
|
i0.ɵɵadvance();
|
|
1624
|
-
i0.ɵɵ
|
|
2113
|
+
i0.ɵɵconditional(ctx_r2.IsInheritedField(ctx_r2.selectedField) ? 25 : -1);
|
|
1625
2114
|
i0.ɵɵadvance();
|
|
1626
|
-
i0.ɵɵ
|
|
2115
|
+
i0.ɵɵconditional(ctx_r2.selectedField.RelatedEntityID ? 26 : -1);
|
|
1627
2116
|
i0.ɵɵadvance();
|
|
1628
|
-
i0.ɵɵ
|
|
2117
|
+
i0.ɵɵconditional(ctx_r2.selectedField.Encrypt ? 27 : -1);
|
|
1629
2118
|
i0.ɵɵadvance(9);
|
|
1630
|
-
i0.ɵɵtextInterpolate(
|
|
2119
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowUpdateAPI ? "Yes" : "No");
|
|
1631
2120
|
i0.ɵɵadvance(5);
|
|
1632
|
-
i0.ɵɵtextInterpolate(
|
|
2121
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.IncludeInUserSearchAPI ? "Yes" : "No");
|
|
1633
2122
|
i0.ɵɵadvance(5);
|
|
1634
|
-
i0.ɵɵtextInterpolate(
|
|
2123
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.FullTextSearchEnabled ? "Yes" : "No");
|
|
1635
2124
|
i0.ɵɵadvance(9);
|
|
1636
|
-
i0.ɵɵtextInterpolate(
|
|
2125
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.IncludeInGeneratedForm ? "Yes" : "No");
|
|
1637
2126
|
i0.ɵɵadvance(5);
|
|
1638
|
-
i0.ɵɵtextInterpolate(
|
|
2127
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.GeneratedFormSection);
|
|
1639
2128
|
i0.ɵɵadvance();
|
|
1640
|
-
i0.ɵɵ
|
|
2129
|
+
i0.ɵɵconditional(ctx_r2.selectedField.Category ? 61 : -1);
|
|
1641
2130
|
i0.ɵɵadvance(5);
|
|
1642
|
-
i0.ɵɵtextInterpolate(
|
|
2131
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedField.Sequence);
|
|
1643
2132
|
i0.ɵɵadvance();
|
|
1644
|
-
i0.ɵɵ
|
|
2133
|
+
i0.ɵɵconditional(ctx_r2.selectedField.EntityFieldValues.length > 0 ? 67 : -1);
|
|
1645
2134
|
} }
|
|
1646
|
-
function
|
|
1647
|
-
i0.ɵɵelementStart(0, "div",
|
|
2135
|
+
function EntityFormComponentExtended_Conditional_0_Conditional_65_Template(rf, ctx) { if (rf & 1) {
|
|
2136
|
+
i0.ɵɵelementStart(0, "div", 41)(1, "div", 277)(2, "h4");
|
|
1648
2137
|
i0.ɵɵtext(3);
|
|
1649
2138
|
i0.ɵɵelementEnd()();
|
|
1650
|
-
i0.ɵɵelementStart(4, "div",
|
|
2139
|
+
i0.ɵɵelementStart(4, "div", 277)(5, "h5");
|
|
1651
2140
|
i0.ɵɵtext(6, "Connection");
|
|
1652
2141
|
i0.ɵɵelementEnd();
|
|
1653
|
-
i0.ɵɵelementStart(7, "div",
|
|
2142
|
+
i0.ɵɵelementStart(7, "div", 279)(8, "div", 280)(9, "span", 281);
|
|
1654
2143
|
i0.ɵɵtext(10, "From Entity");
|
|
1655
2144
|
i0.ɵɵelementEnd();
|
|
1656
|
-
i0.ɵɵelementStart(11, "span",
|
|
2145
|
+
i0.ɵɵelementStart(11, "span", 283);
|
|
1657
2146
|
i0.ɵɵtext(12);
|
|
1658
2147
|
i0.ɵɵelementEnd()();
|
|
1659
|
-
i0.ɵɵelementStart(13, "div",
|
|
2148
|
+
i0.ɵɵelementStart(13, "div", 280)(14, "span", 281);
|
|
1660
2149
|
i0.ɵɵtext(15, "Join Field");
|
|
1661
2150
|
i0.ɵɵelementEnd();
|
|
1662
|
-
i0.ɵɵelementStart(16, "span",
|
|
2151
|
+
i0.ɵɵelementStart(16, "span", 282);
|
|
1663
2152
|
i0.ɵɵtext(17);
|
|
1664
2153
|
i0.ɵɵelementEnd()();
|
|
1665
|
-
i0.ɵɵelementStart(18, "div",
|
|
2154
|
+
i0.ɵɵelementStart(18, "div", 280)(19, "span", 281);
|
|
1666
2155
|
i0.ɵɵtext(20, "Type");
|
|
1667
2156
|
i0.ɵɵelementEnd();
|
|
1668
|
-
i0.ɵɵelementStart(21, "span",
|
|
2157
|
+
i0.ɵɵelementStart(21, "span", 283);
|
|
1669
2158
|
i0.ɵɵtext(22);
|
|
1670
2159
|
i0.ɵɵelementEnd()()()();
|
|
1671
|
-
i0.ɵɵelementStart(23, "div",
|
|
2160
|
+
i0.ɵɵelementStart(23, "div", 277)(24, "h5");
|
|
1672
2161
|
i0.ɵɵtext(25, "Display Settings");
|
|
1673
2162
|
i0.ɵɵelementEnd();
|
|
1674
|
-
i0.ɵɵelementStart(26, "div",
|
|
2163
|
+
i0.ɵɵelementStart(26, "div", 279)(27, "div", 280)(28, "span", 281);
|
|
1675
2164
|
i0.ɵɵtext(29, "Display in Form");
|
|
1676
2165
|
i0.ɵɵelementEnd();
|
|
1677
|
-
i0.ɵɵelementStart(30, "span",
|
|
2166
|
+
i0.ɵɵelementStart(30, "span", 283);
|
|
1678
2167
|
i0.ɵɵtext(31);
|
|
1679
2168
|
i0.ɵɵelementEnd()();
|
|
1680
|
-
i0.ɵɵelementStart(32, "div",
|
|
2169
|
+
i0.ɵɵelementStart(32, "div", 280)(33, "span", 281);
|
|
1681
2170
|
i0.ɵɵtext(34, "Location");
|
|
1682
2171
|
i0.ɵɵelementEnd();
|
|
1683
|
-
i0.ɵɵelementStart(35, "span",
|
|
2172
|
+
i0.ɵɵelementStart(35, "span", 283);
|
|
1684
2173
|
i0.ɵɵtext(36);
|
|
1685
2174
|
i0.ɵɵelementEnd()();
|
|
1686
|
-
i0.ɵɵelementStart(37, "div",
|
|
2175
|
+
i0.ɵɵelementStart(37, "div", 280)(38, "span", 281);
|
|
1687
2176
|
i0.ɵɵtext(39, "Bundle in API");
|
|
1688
2177
|
i0.ɵɵelementEnd();
|
|
1689
|
-
i0.ɵɵelementStart(40, "span",
|
|
2178
|
+
i0.ɵɵelementStart(40, "span", 283);
|
|
1690
2179
|
i0.ɵɵtext(41);
|
|
1691
2180
|
i0.ɵɵelementEnd()()()()();
|
|
1692
2181
|
} if (rf & 2) {
|
|
1693
|
-
const
|
|
2182
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1694
2183
|
i0.ɵɵadvance(3);
|
|
1695
|
-
i0.ɵɵtextInterpolate(
|
|
2184
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayName || ctx_r2.selectedRelationship.Entity);
|
|
1696
2185
|
i0.ɵɵadvance(9);
|
|
1697
|
-
i0.ɵɵtextInterpolate(
|
|
2186
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.Entity);
|
|
1698
2187
|
i0.ɵɵadvance(5);
|
|
1699
|
-
i0.ɵɵtextInterpolate(
|
|
2188
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.RelatedEntityJoinField);
|
|
1700
2189
|
i0.ɵɵadvance(5);
|
|
1701
|
-
i0.ɵɵtextInterpolate(
|
|
2190
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.Type);
|
|
1702
2191
|
i0.ɵɵadvance(9);
|
|
1703
|
-
i0.ɵɵtextInterpolate(
|
|
2192
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayInForm ? "Yes" : "No");
|
|
1704
2193
|
i0.ɵɵadvance(5);
|
|
1705
|
-
i0.ɵɵtextInterpolate(
|
|
2194
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.DisplayLocation);
|
|
1706
2195
|
i0.ɵɵadvance(5);
|
|
1707
|
-
i0.ɵɵtextInterpolate(
|
|
2196
|
+
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.BundleInAPI ? "Yes" : "No");
|
|
1708
2197
|
} }
|
|
1709
|
-
function
|
|
2198
|
+
function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
1710
2199
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
1711
|
-
i0.ɵɵelementStart(0, "div",
|
|
2200
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "header", 1)(2, "div", 2)(3, "div", 3);
|
|
1712
2201
|
i0.ɵɵelement(4, "i");
|
|
1713
2202
|
i0.ɵɵelementEnd();
|
|
1714
|
-
i0.ɵɵelementStart(5, "div",
|
|
2203
|
+
i0.ɵɵelementStart(5, "div", 4)(6, "div", 5)(7, "h1", 6);
|
|
1715
2204
|
i0.ɵɵtext(8);
|
|
1716
2205
|
i0.ɵɵelementEnd();
|
|
1717
|
-
i0.ɵɵelementStart(9, "span",
|
|
2206
|
+
i0.ɵɵelementStart(9, "span", 7);
|
|
1718
2207
|
i0.ɵɵtext(10);
|
|
1719
|
-
i0.ɵɵelementEnd()();
|
|
1720
|
-
i0.ɵɵelementStart(11, "div", 11)(12, "span", 12);
|
|
1721
|
-
i0.ɵɵtext(13);
|
|
1722
2208
|
i0.ɵɵelementEnd();
|
|
1723
|
-
i0.ɵɵ
|
|
1724
|
-
i0.ɵɵ
|
|
2209
|
+
i0.ɵɵconditionalCreate(11, EntityFormComponentExtended_Conditional_0_Conditional_11_Template, 3, 0, "span", 8);
|
|
2210
|
+
i0.ɵɵconditionalCreate(12, EntityFormComponentExtended_Conditional_0_Conditional_12_Template, 3, 1, "span", 9);
|
|
2211
|
+
i0.ɵɵconditionalCreate(13, EntityFormComponentExtended_Conditional_0_Conditional_13_Template, 3, 2, "span", 10);
|
|
2212
|
+
i0.ɵɵelementEnd();
|
|
2213
|
+
i0.ɵɵconditionalCreate(14, EntityFormComponentExtended_Conditional_0_Conditional_14_Template, 3, 1, "div", 11);
|
|
2214
|
+
i0.ɵɵelementStart(15, "div", 12)(16, "span", 13);
|
|
2215
|
+
i0.ɵɵtext(17);
|
|
2216
|
+
i0.ɵɵelementEnd();
|
|
2217
|
+
i0.ɵɵelementStart(18, "span", 14);
|
|
2218
|
+
i0.ɵɵtext(19, "|");
|
|
1725
2219
|
i0.ɵɵelementEnd();
|
|
1726
|
-
i0.ɵɵ
|
|
2220
|
+
i0.ɵɵconditionalCreate(20, EntityFormComponentExtended_Conditional_0_Conditional_20_Template, 3, 7, "span", 15);
|
|
1727
2221
|
i0.ɵɵelementEnd()()();
|
|
1728
|
-
i0.ɵɵelementStart(
|
|
1729
|
-
i0.ɵɵlistener("click", function
|
|
1730
|
-
i0.ɵɵelement(
|
|
1731
|
-
i0.ɵɵelementStart(
|
|
1732
|
-
i0.ɵɵtext(
|
|
1733
|
-
i0.ɵɵelementEnd();
|
|
1734
|
-
i0.ɵɵelementStart(22, "span", 19);
|
|
1735
|
-
i0.ɵɵtext(23, "Fields");
|
|
1736
|
-
i0.ɵɵelementEnd()();
|
|
1737
|
-
i0.ɵɵelementStart(24, "div", 16);
|
|
1738
|
-
i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_div_click_24_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("relationships")); });
|
|
1739
|
-
i0.ɵɵelement(25, "i", 20);
|
|
1740
|
-
i0.ɵɵelementStart(26, "span", 18);
|
|
1741
|
-
i0.ɵɵtext(27);
|
|
1742
|
-
i0.ɵɵelementEnd();
|
|
1743
|
-
i0.ɵɵelementStart(28, "span", 19);
|
|
1744
|
-
i0.ɵɵtext(29, "Relations");
|
|
1745
|
-
i0.ɵɵelementEnd()();
|
|
1746
|
-
i0.ɵɵelementStart(30, "div", 16);
|
|
1747
|
-
i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_div_click_30_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.setActiveSection("permissions")); });
|
|
1748
|
-
i0.ɵɵelement(31, "i", 21);
|
|
1749
|
-
i0.ɵɵelementStart(32, "span", 18);
|
|
1750
|
-
i0.ɵɵtext(33);
|
|
1751
|
-
i0.ɵɵelementEnd();
|
|
1752
|
-
i0.ɵɵelementStart(34, "span", 19);
|
|
1753
|
-
i0.ɵɵtext(35, "Roles");
|
|
1754
|
-
i0.ɵɵelementEnd()();
|
|
1755
|
-
i0.ɵɵelementStart(36, "div", 22);
|
|
1756
|
-
i0.ɵɵelement(37, "i", 23);
|
|
1757
|
-
i0.ɵɵtemplate(38, EntityFormComponentExtended_div_0_span_38_Template, 2, 1, "span", 24)(39, EntityFormComponentExtended_div_0_span_39_Template, 2, 0, "span", 25);
|
|
1758
|
-
i0.ɵɵelementStart(40, "span", 19);
|
|
1759
|
-
i0.ɵɵtext(41, "Rows");
|
|
1760
|
-
i0.ɵɵelementEnd()()()();
|
|
1761
|
-
i0.ɵɵelementStart(42, "div", 26)(43, "nav", 27);
|
|
1762
|
-
i0.ɵɵtemplate(44, EntityFormComponentExtended_div_0_button_44_Template, 5, 7, "button", 28);
|
|
2222
|
+
i0.ɵɵelementStart(21, "div", 16)(22, "div", 17);
|
|
2223
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("fields")); });
|
|
2224
|
+
i0.ɵɵelement(23, "i", 18);
|
|
2225
|
+
i0.ɵɵelementStart(24, "span", 19);
|
|
2226
|
+
i0.ɵɵtext(25);
|
|
1763
2227
|
i0.ɵɵelementEnd();
|
|
1764
|
-
i0.ɵɵelementStart(
|
|
1765
|
-
i0.ɵɵ
|
|
2228
|
+
i0.ɵɵelementStart(26, "span", 20);
|
|
2229
|
+
i0.ɵɵtext(27, "Fields");
|
|
2230
|
+
i0.ɵɵelementEnd()();
|
|
2231
|
+
i0.ɵɵelementStart(28, "div", 17);
|
|
2232
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_28_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("relationships")); });
|
|
2233
|
+
i0.ɵɵelement(29, "i", 21);
|
|
2234
|
+
i0.ɵɵelementStart(30, "span", 19);
|
|
2235
|
+
i0.ɵɵtext(31);
|
|
1766
2236
|
i0.ɵɵelementEnd();
|
|
1767
|
-
i0.ɵɵelementStart(
|
|
1768
|
-
i0.ɵɵ
|
|
1769
|
-
i0.ɵɵelementStart(57, "button", 40);
|
|
1770
|
-
i0.ɵɵlistener("click", function EntityFormComponentExtended_div_0_Template_button_click_57_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.closeDetailPanel()); });
|
|
1771
|
-
i0.ɵɵelement(58, "i", 41);
|
|
2237
|
+
i0.ɵɵelementStart(32, "span", 20);
|
|
2238
|
+
i0.ɵɵtext(33, "Relations");
|
|
1772
2239
|
i0.ɵɵelementEnd()();
|
|
1773
|
-
i0.ɵɵ
|
|
2240
|
+
i0.ɵɵelementStart(34, "div", 17);
|
|
2241
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("permissions")); });
|
|
2242
|
+
i0.ɵɵelement(35, "i", 22);
|
|
2243
|
+
i0.ɵɵelementStart(36, "span", 19);
|
|
2244
|
+
i0.ɵɵtext(37);
|
|
2245
|
+
i0.ɵɵelementEnd();
|
|
2246
|
+
i0.ɵɵelementStart(38, "span", 20);
|
|
2247
|
+
i0.ɵɵtext(39, "Roles");
|
|
2248
|
+
i0.ɵɵelementEnd()();
|
|
2249
|
+
i0.ɵɵelementStart(40, "div", 23);
|
|
2250
|
+
i0.ɵɵelement(41, "i", 24);
|
|
2251
|
+
i0.ɵɵconditionalCreate(42, EntityFormComponentExtended_Conditional_0_Conditional_42_Template, 2, 1, "span", 19);
|
|
2252
|
+
i0.ɵɵconditionalCreate(43, EntityFormComponentExtended_Conditional_0_Conditional_43_Template, 2, 0, "span", 25);
|
|
2253
|
+
i0.ɵɵelementStart(44, "span", 20);
|
|
2254
|
+
i0.ɵɵtext(45, "Rows");
|
|
2255
|
+
i0.ɵɵelementEnd()()()();
|
|
2256
|
+
i0.ɵɵelementStart(46, "div", 26)(47, "nav", 27);
|
|
2257
|
+
i0.ɵɵrepeaterCreate(48, EntityFormComponentExtended_Conditional_0_For_49_Template, 5, 7, "button", 28, i0.ɵɵrepeaterTrackByIdentity);
|
|
2258
|
+
i0.ɵɵelementEnd();
|
|
2259
|
+
i0.ɵɵelementStart(50, "main", 29);
|
|
2260
|
+
i0.ɵɵconditionalCreate(51, EntityFormComponentExtended_Conditional_0_Conditional_51_Template, 111, 23, "section", 30);
|
|
2261
|
+
i0.ɵɵconditionalCreate(52, EntityFormComponentExtended_Conditional_0_Conditional_52_Template, 15, 8, "section", 31);
|
|
2262
|
+
i0.ɵɵconditionalCreate(53, EntityFormComponentExtended_Conditional_0_Conditional_53_Template, 13, 7, "section", 32);
|
|
2263
|
+
i0.ɵɵconditionalCreate(54, EntityFormComponentExtended_Conditional_0_Conditional_54_Template, 55, 22, "section", 33);
|
|
2264
|
+
i0.ɵɵconditionalCreate(55, EntityFormComponentExtended_Conditional_0_Conditional_55_Template, 57, 20, "section", 34);
|
|
2265
|
+
i0.ɵɵconditionalCreate(56, EntityFormComponentExtended_Conditional_0_Conditional_56_Template, 18, 7, "section", 35);
|
|
2266
|
+
i0.ɵɵconditionalCreate(57, EntityFormComponentExtended_Conditional_0_Conditional_57_Template, 27, 8, "section", 36);
|
|
2267
|
+
i0.ɵɵelementEnd();
|
|
2268
|
+
i0.ɵɵelementStart(58, "aside", 37)(59, "div", 38);
|
|
2269
|
+
i0.ɵɵconditionalCreate(60, EntityFormComponentExtended_Conditional_0_Conditional_60_Template, 2, 0, "h3");
|
|
2270
|
+
i0.ɵɵconditionalCreate(61, EntityFormComponentExtended_Conditional_0_Conditional_61_Template, 2, 0, "h3");
|
|
2271
|
+
i0.ɵɵelementStart(62, "button", 39);
|
|
2272
|
+
i0.ɵɵlistener("click", function EntityFormComponentExtended_Conditional_0_Template_button_click_62_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDetailPanel()); });
|
|
2273
|
+
i0.ɵɵelement(63, "i", 40);
|
|
2274
|
+
i0.ɵɵelementEnd()();
|
|
2275
|
+
i0.ɵɵconditionalCreate(64, EntityFormComponentExtended_Conditional_0_Conditional_64_Template, 68, 17, "div", 41);
|
|
2276
|
+
i0.ɵɵconditionalCreate(65, EntityFormComponentExtended_Conditional_0_Conditional_65_Template, 42, 7, "div", 41);
|
|
1774
2277
|
i0.ɵɵelementEnd()()();
|
|
1775
2278
|
} if (rf & 2) {
|
|
1776
|
-
const
|
|
2279
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
1777
2280
|
i0.ɵɵadvance(3);
|
|
1778
2281
|
i0.ɵɵstyleProp("background-color", "#3b82f6");
|
|
1779
2282
|
i0.ɵɵadvance();
|
|
1780
|
-
i0.ɵɵclassMap(
|
|
2283
|
+
i0.ɵɵclassMap(ctx_r2.entityIcon);
|
|
1781
2284
|
i0.ɵɵadvance(4);
|
|
1782
|
-
i0.ɵɵtextInterpolate(
|
|
2285
|
+
i0.ɵɵtextInterpolate(ctx_r2.entityDisplayName);
|
|
2286
|
+
i0.ɵɵadvance();
|
|
2287
|
+
i0.ɵɵproperty("ngClass", ctx_r2.statusClass);
|
|
2288
|
+
i0.ɵɵadvance();
|
|
2289
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r2.entity.Status, " ");
|
|
2290
|
+
i0.ɵɵadvance();
|
|
2291
|
+
i0.ɵɵconditional(ctx_r2.IsVirtualEntity ? 11 : -1);
|
|
1783
2292
|
i0.ɵɵadvance();
|
|
1784
|
-
i0.ɵɵ
|
|
2293
|
+
i0.ɵɵconditional(ctx_r2.IsChildType ? 12 : -1);
|
|
1785
2294
|
i0.ɵɵadvance();
|
|
1786
|
-
i0.ɵɵ
|
|
2295
|
+
i0.ɵɵconditional(ctx_r2.IsParentType ? 13 : -1);
|
|
2296
|
+
i0.ɵɵadvance();
|
|
2297
|
+
i0.ɵɵconditional(ctx_r2.IsChildType ? 14 : -1);
|
|
1787
2298
|
i0.ɵɵadvance(3);
|
|
1788
|
-
i0.ɵɵtextInterpolate2("",
|
|
2299
|
+
i0.ɵɵtextInterpolate2("", ctx_r2.entity.SchemaName, ".", ctx_r2.entity.BaseTable);
|
|
1789
2300
|
i0.ɵɵadvance(3);
|
|
1790
|
-
i0.ɵɵ
|
|
2301
|
+
i0.ɵɵconditional(ctx_r2.entity.Description ? 20 : -1);
|
|
1791
2302
|
i0.ɵɵadvance(5);
|
|
1792
|
-
i0.ɵɵtextInterpolate(
|
|
2303
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.fieldCount);
|
|
1793
2304
|
i0.ɵɵadvance(6);
|
|
1794
|
-
i0.ɵɵtextInterpolate(
|
|
2305
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.relationshipCount);
|
|
1795
2306
|
i0.ɵɵadvance(6);
|
|
1796
|
-
i0.ɵɵtextInterpolate(
|
|
2307
|
+
i0.ɵɵtextInterpolate(ctx_r2.stats.permissionCount);
|
|
1797
2308
|
i0.ɵɵadvance(5);
|
|
1798
|
-
i0.ɵɵ
|
|
2309
|
+
i0.ɵɵconditional(!ctx_r2.isRowCountLoading ? 42 : -1);
|
|
1799
2310
|
i0.ɵɵadvance();
|
|
1800
|
-
i0.ɵɵ
|
|
2311
|
+
i0.ɵɵconditional(ctx_r2.isRowCountLoading ? 43 : -1);
|
|
1801
2312
|
i0.ɵɵadvance(5);
|
|
1802
|
-
i0.ɵɵ
|
|
1803
|
-
i0.ɵɵadvance();
|
|
1804
|
-
i0.ɵɵclassProp("panel-open",
|
|
2313
|
+
i0.ɵɵrepeater(ctx_r2.navItems);
|
|
2314
|
+
i0.ɵɵadvance(2);
|
|
2315
|
+
i0.ɵɵclassProp("panel-open", ctx_r2.detailPanelOpen);
|
|
1805
2316
|
i0.ɵɵadvance();
|
|
1806
|
-
i0.ɵɵ
|
|
2317
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "overview" ? 51 : -1);
|
|
1807
2318
|
i0.ɵɵadvance();
|
|
1808
|
-
i0.ɵɵ
|
|
2319
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "fields" ? 52 : -1);
|
|
1809
2320
|
i0.ɵɵadvance();
|
|
1810
|
-
i0.ɵɵ
|
|
2321
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "relationships" ? 53 : -1);
|
|
1811
2322
|
i0.ɵɵadvance();
|
|
1812
|
-
i0.ɵɵ
|
|
2323
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "permissions" ? 54 : -1);
|
|
1813
2324
|
i0.ɵɵadvance();
|
|
1814
|
-
i0.ɵɵ
|
|
2325
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "lineage" ? 55 : -1);
|
|
1815
2326
|
i0.ɵɵadvance();
|
|
1816
|
-
i0.ɵɵ
|
|
2327
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "history" ? 56 : -1);
|
|
1817
2328
|
i0.ɵɵadvance();
|
|
1818
|
-
i0.ɵɵ
|
|
2329
|
+
i0.ɵɵconditional(ctx_r2.activeSection === "settings" ? 57 : -1);
|
|
1819
2330
|
i0.ɵɵadvance();
|
|
1820
|
-
i0.ɵɵclassProp("open",
|
|
2331
|
+
i0.ɵɵclassProp("open", ctx_r2.detailPanelOpen);
|
|
1821
2332
|
i0.ɵɵadvance(2);
|
|
1822
|
-
i0.ɵɵ
|
|
2333
|
+
i0.ɵɵconditional(ctx_r2.selectedField ? 60 : -1);
|
|
1823
2334
|
i0.ɵɵadvance();
|
|
1824
|
-
i0.ɵɵ
|
|
2335
|
+
i0.ɵɵconditional(ctx_r2.selectedRelationship ? 61 : -1);
|
|
1825
2336
|
i0.ɵɵadvance(3);
|
|
1826
|
-
i0.ɵɵ
|
|
2337
|
+
i0.ɵɵconditional(ctx_r2.selectedField ? 64 : -1);
|
|
1827
2338
|
i0.ɵɵadvance();
|
|
1828
|
-
i0.ɵɵ
|
|
2339
|
+
i0.ɵɵconditional(ctx_r2.selectedRelationship ? 65 : -1);
|
|
1829
2340
|
} }
|
|
1830
|
-
function
|
|
1831
|
-
i0.ɵɵelementStart(0, "div",
|
|
1832
|
-
i0.ɵɵelement(1, "mj-loading",
|
|
2341
|
+
function EntityFormComponentExtended_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
2342
|
+
i0.ɵɵelementStart(0, "div", 291);
|
|
2343
|
+
i0.ɵɵelement(1, "mj-loading", 294);
|
|
1833
2344
|
i0.ɵɵelementEnd();
|
|
1834
2345
|
} }
|
|
1835
|
-
function
|
|
1836
|
-
i0.ɵɵelementStart(0, "div",
|
|
1837
|
-
i0.ɵɵelement(1, "i",
|
|
2346
|
+
function EntityFormComponentExtended_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
2347
|
+
i0.ɵɵelementStart(0, "div", 292);
|
|
2348
|
+
i0.ɵɵelement(1, "i", 295);
|
|
1838
2349
|
i0.ɵɵelementStart(2, "p");
|
|
1839
2350
|
i0.ɵɵtext(3);
|
|
1840
2351
|
i0.ɵɵelementEnd()();
|
|
1841
2352
|
} if (rf & 2) {
|
|
1842
|
-
const
|
|
2353
|
+
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
1843
2354
|
i0.ɵɵadvance(3);
|
|
1844
|
-
i0.ɵɵtextInterpolate(
|
|
2355
|
+
i0.ɵɵtextInterpolate(ctx_r2.explorerError);
|
|
1845
2356
|
} }
|
|
1846
|
-
function
|
|
1847
|
-
i0.ɵɵelementStart(0, "div",
|
|
1848
|
-
i0.ɵɵelement(1, "i",
|
|
2357
|
+
function EntityFormComponentExtended_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
2358
|
+
i0.ɵɵelementStart(0, "div", 293);
|
|
2359
|
+
i0.ɵɵelement(1, "i", 24);
|
|
1849
2360
|
i0.ɵɵelementStart(2, "p");
|
|
1850
2361
|
i0.ɵɵtext(3, "Entity metadata not available");
|
|
1851
2362
|
i0.ɵɵelementEnd()();
|
|
1852
2363
|
} }
|
|
1853
|
-
function
|
|
1854
|
-
i0.ɵɵ
|
|
2364
|
+
function EntityFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
2365
|
+
i0.ɵɵconditionalCreate(0, EntityFormComponentExtended_Conditional_1_Conditional_0_Template, 2, 0, "div", 291);
|
|
2366
|
+
i0.ɵɵconditionalCreate(1, EntityFormComponentExtended_Conditional_1_Conditional_1_Template, 4, 1, "div", 292);
|
|
2367
|
+
i0.ɵɵconditionalCreate(2, EntityFormComponentExtended_Conditional_1_Conditional_2_Template, 4, 0, "div", 293);
|
|
1855
2368
|
} if (rf & 2) {
|
|
1856
|
-
const
|
|
1857
|
-
i0.ɵɵ
|
|
2369
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
2370
|
+
i0.ɵɵconditional(ctx_r2.isExplorerLoading ? 0 : -1);
|
|
1858
2371
|
i0.ɵɵadvance();
|
|
1859
|
-
i0.ɵɵ
|
|
2372
|
+
i0.ɵɵconditional(!ctx_r2.isExplorerLoading && ctx_r2.explorerError ? 1 : -1);
|
|
1860
2373
|
i0.ɵɵadvance();
|
|
1861
|
-
i0.ɵɵ
|
|
2374
|
+
i0.ɵɵconditional(!ctx_r2.isExplorerLoading && !ctx_r2.explorerError && !ctx_r2.entity ? 2 : -1);
|
|
1862
2375
|
} }
|
|
1863
2376
|
/**
|
|
1864
2377
|
* World-class Entity Explorer form component that provides an exploration-focused
|
|
@@ -1875,6 +2388,7 @@ function EntityFormComponentExtended_ng_template_1_Template(rf, ctx) { if (rf &
|
|
|
1875
2388
|
let EntityFormComponentExtended = class EntityFormComponentExtended extends EntityFormComponent {
|
|
1876
2389
|
constructor() {
|
|
1877
2390
|
super(...arguments);
|
|
2391
|
+
this.sharedService = inject(SharedService);
|
|
1878
2392
|
/** Runtime EntityInfo metadata (populated from record.ID) */
|
|
1879
2393
|
this.entity = null;
|
|
1880
2394
|
/** All entities for relationship lookups */
|
|
@@ -1916,6 +2430,12 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
|
|
|
1916
2430
|
this.expandedFieldGroups = new Set();
|
|
1917
2431
|
/** Field view mode: grouped by category or flat list */
|
|
1918
2432
|
this.fieldViewMode = 'grouped';
|
|
2433
|
+
/** IS-A field groups organized by source entity */
|
|
2434
|
+
this.isaFieldGroups = [];
|
|
2435
|
+
/** Child entity record counts for the IS-A parent type summary */
|
|
2436
|
+
this.childEntityCounts = [];
|
|
2437
|
+
/** Whether the IS-A field inspector panel is expanded */
|
|
2438
|
+
this.isaFieldInspectorExpanded = true;
|
|
1919
2439
|
/** Field list sort configuration */
|
|
1920
2440
|
this.fieldListSortColumn = 'Sequence';
|
|
1921
2441
|
this.fieldListSortDirection = 'asc';
|
|
@@ -1972,10 +2492,15 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
|
|
|
1972
2492
|
if (this.entity) {
|
|
1973
2493
|
this.computeStats();
|
|
1974
2494
|
this.buildFieldGroups();
|
|
2495
|
+
this.buildISAFieldGroups();
|
|
1975
2496
|
this.buildRelationships();
|
|
1976
2497
|
this.updateNavBadges();
|
|
1977
2498
|
// Load row count asynchronously (don't block UI)
|
|
1978
2499
|
this.loadRowCountAsync();
|
|
2500
|
+
// Load IS-A child entity counts asynchronously
|
|
2501
|
+
if (this.IsParentType) {
|
|
2502
|
+
this.loadChildEntityCounts();
|
|
2503
|
+
}
|
|
1979
2504
|
}
|
|
1980
2505
|
else {
|
|
1981
2506
|
this.explorerError = `Entity metadata not found for: ${this.record?.Name || 'Unknown'}`;
|
|
@@ -2144,6 +2669,78 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
|
|
|
2144
2669
|
}
|
|
2145
2670
|
}
|
|
2146
2671
|
}
|
|
2672
|
+
/**
|
|
2673
|
+
* Builds field groups organized by source entity in the IS-A hierarchy.
|
|
2674
|
+
* Own fields first, then parent fields, then grandparent, etc.
|
|
2675
|
+
*/
|
|
2676
|
+
buildISAFieldGroups() {
|
|
2677
|
+
if (!this.entity)
|
|
2678
|
+
return;
|
|
2679
|
+
const groups = [];
|
|
2680
|
+
const allFields = this.entity.Fields;
|
|
2681
|
+
// Own fields (non-virtual, or virtual but NOT inherited from parent)
|
|
2682
|
+
const ownFields = allFields.filter(f => !this.IsInheritedField(f));
|
|
2683
|
+
groups.push({
|
|
2684
|
+
EntityName: this.entity.Name,
|
|
2685
|
+
EntityInfo: this.entity,
|
|
2686
|
+
Label: 'Own Fields',
|
|
2687
|
+
Level: 0,
|
|
2688
|
+
Fields: ownFields.sort((a, b) => a.Sequence - b.Sequence),
|
|
2689
|
+
Expanded: true
|
|
2690
|
+
});
|
|
2691
|
+
// Parent chain fields, grouped by source entity
|
|
2692
|
+
if (this.IsChildType) {
|
|
2693
|
+
for (let i = 0; i < this.ParentChain.length; i++) {
|
|
2694
|
+
const parent = this.ParentChain[i];
|
|
2695
|
+
const parentFields = allFields.filter(f => {
|
|
2696
|
+
const source = this.GetISAFieldSource(f);
|
|
2697
|
+
return source === parent.Name;
|
|
2698
|
+
});
|
|
2699
|
+
if (parentFields.length > 0) {
|
|
2700
|
+
const levelLabel = i === 0 ? 'parent' : i === 1 ? 'grandparent' : `ancestor level ${i + 1}`;
|
|
2701
|
+
groups.push({
|
|
2702
|
+
EntityName: parent.Name,
|
|
2703
|
+
EntityInfo: parent,
|
|
2704
|
+
Label: `Inherited from ${parent.Name} (${levelLabel})`,
|
|
2705
|
+
Level: i + 1,
|
|
2706
|
+
Fields: parentFields.sort((a, b) => a.Sequence - b.Sequence),
|
|
2707
|
+
Expanded: true
|
|
2708
|
+
});
|
|
2709
|
+
}
|
|
2710
|
+
}
|
|
2711
|
+
}
|
|
2712
|
+
this.isaFieldGroups = groups;
|
|
2713
|
+
}
|
|
2714
|
+
/**
|
|
2715
|
+
* Loads record counts for each IS-A child entity type asynchronously.
|
|
2716
|
+
*/
|
|
2717
|
+
async loadChildEntityCounts() {
|
|
2718
|
+
if (!this.entity || !this.IsParentType)
|
|
2719
|
+
return;
|
|
2720
|
+
// Initialize with loading state
|
|
2721
|
+
this.childEntityCounts = this.ChildEntities.map(child => ({
|
|
2722
|
+
EntityName: child.Name,
|
|
2723
|
+
EntityInfo: child,
|
|
2724
|
+
RecordCount: null,
|
|
2725
|
+
IsLoading: true
|
|
2726
|
+
}));
|
|
2727
|
+
this.cdr.markForCheck();
|
|
2728
|
+
// Load counts in parallel using count_only for efficiency
|
|
2729
|
+
const rv = new RunView();
|
|
2730
|
+
const countPromises = this.ChildEntities.map(async (child, index) => {
|
|
2731
|
+
const result = await rv.RunView({
|
|
2732
|
+
EntityName: child.Name,
|
|
2733
|
+
ExtraFilter: '',
|
|
2734
|
+
ResultType: 'count_only'
|
|
2735
|
+
});
|
|
2736
|
+
if (this.childEntityCounts[index]) {
|
|
2737
|
+
this.childEntityCounts[index].RecordCount = result?.TotalRowCount ?? 0;
|
|
2738
|
+
this.childEntityCounts[index].IsLoading = false;
|
|
2739
|
+
}
|
|
2740
|
+
});
|
|
2741
|
+
await Promise.all(countPromises);
|
|
2742
|
+
this.cdr.markForCheck();
|
|
2743
|
+
}
|
|
2147
2744
|
buildRelationships() {
|
|
2148
2745
|
if (!this.entity)
|
|
2149
2746
|
return;
|
|
@@ -2375,6 +2972,91 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
|
|
|
2375
2972
|
.filter(group => group.fields.length > 0);
|
|
2376
2973
|
}
|
|
2377
2974
|
// === Computed Getters ===
|
|
2975
|
+
// === IS-A Type Relationship Computed Properties ===
|
|
2976
|
+
/** Whether this entity is a virtual entity (read-only view) */
|
|
2977
|
+
get IsVirtualEntity() {
|
|
2978
|
+
return this.entity?.VirtualEntity === true;
|
|
2979
|
+
}
|
|
2980
|
+
/** Whether this entity is a child type in an IS-A relationship */
|
|
2981
|
+
get IsChildType() {
|
|
2982
|
+
return this.entity?.IsChildType === true;
|
|
2983
|
+
}
|
|
2984
|
+
/** Whether this entity is a parent type in an IS-A relationship */
|
|
2985
|
+
get IsParentType() {
|
|
2986
|
+
return this.entity?.IsParentType === true;
|
|
2987
|
+
}
|
|
2988
|
+
/** The parent chain for IS-A child entities */
|
|
2989
|
+
get ParentChain() {
|
|
2990
|
+
return this.entity?.ParentChain ?? [];
|
|
2991
|
+
}
|
|
2992
|
+
/** Child entities for IS-A parent entities */
|
|
2993
|
+
get ChildEntities() {
|
|
2994
|
+
return this.entity?.ChildEntities ?? [];
|
|
2995
|
+
}
|
|
2996
|
+
/** Whether this entity has any IS-A relationship (parent or child) */
|
|
2997
|
+
get HasISARelationship() {
|
|
2998
|
+
return this.IsChildType || this.IsParentType;
|
|
2999
|
+
}
|
|
3000
|
+
/** IS-A breadcrumb string: "Webinar IS-A Meeting IS-A Product" */
|
|
3001
|
+
get IsaBreadcrumb() {
|
|
3002
|
+
if (!this.entity?.IsChildType)
|
|
3003
|
+
return '';
|
|
3004
|
+
const chain = [this.entity, ...this.entity.ParentChain];
|
|
3005
|
+
return chain.map(e => e.Name).join(' IS-A ');
|
|
3006
|
+
}
|
|
3007
|
+
/** Number of fields inherited from parent entities */
|
|
3008
|
+
get InheritedFieldCount() {
|
|
3009
|
+
return this.entity?.AllParentFields?.length ?? 0;
|
|
3010
|
+
}
|
|
3011
|
+
/** Navigate to an entity record in the Entity Explorer */
|
|
3012
|
+
NavigateToEntity(entityInfo) {
|
|
3013
|
+
const pkey = new CompositeKey([{ FieldName: 'ID', Value: entityInfo.ID }]);
|
|
3014
|
+
this.sharedService.OpenEntityRecord('Entities', pkey);
|
|
3015
|
+
}
|
|
3016
|
+
/**
|
|
3017
|
+
* Returns the source entity name for an IS-A inherited field, or null if the
|
|
3018
|
+
* field is owned by this entity. Used for displaying field source badges.
|
|
3019
|
+
*/
|
|
3020
|
+
GetISAFieldSource(field) {
|
|
3021
|
+
if (!this.IsChildType || !field.IsVirtual || !field.AllowUpdateAPI)
|
|
3022
|
+
return null;
|
|
3023
|
+
for (const parent of this.ParentChain) {
|
|
3024
|
+
const parentField = parent.Fields.find(pf => pf.Name === field.Name && !pf.IsVirtual);
|
|
3025
|
+
if (parentField)
|
|
3026
|
+
return parent.Name;
|
|
3027
|
+
}
|
|
3028
|
+
return this.ParentChain[0]?.Name ?? null;
|
|
3029
|
+
}
|
|
3030
|
+
/**
|
|
3031
|
+
* Returns true if the given field is inherited from a parent entity via IS-A.
|
|
3032
|
+
*/
|
|
3033
|
+
IsInheritedField(field) {
|
|
3034
|
+
return this.GetISAFieldSource(field) !== null;
|
|
3035
|
+
}
|
|
3036
|
+
/** All entities available as potential IS-A parents (excluding self and descendants) */
|
|
3037
|
+
get AvailableParentEntities() {
|
|
3038
|
+
if (!this.entity)
|
|
3039
|
+
return [];
|
|
3040
|
+
const md = new Metadata();
|
|
3041
|
+
const descendantIds = new Set();
|
|
3042
|
+
const collectDescendants = (e) => {
|
|
3043
|
+
descendantIds.add(e.ID);
|
|
3044
|
+
for (const child of e.ChildEntities) {
|
|
3045
|
+
collectDescendants(child);
|
|
3046
|
+
}
|
|
3047
|
+
};
|
|
3048
|
+
collectDescendants(this.entity);
|
|
3049
|
+
return md.Entities
|
|
3050
|
+
.filter(e => !descendantIds.has(e.ID) && e.ID !== this.entity.ID && !e.VirtualEntity)
|
|
3051
|
+
.sort((a, b) => a.Name.localeCompare(b.Name));
|
|
3052
|
+
}
|
|
3053
|
+
/** Sibling entities that share the same parent type */
|
|
3054
|
+
get SiblingEntities() {
|
|
3055
|
+
if (!this.IsChildType || !this.entity?.ParentEntityInfo)
|
|
3056
|
+
return [];
|
|
3057
|
+
return this.entity.ParentEntityInfo.ChildEntities
|
|
3058
|
+
.filter(e => e.ID !== this.entity.ID);
|
|
3059
|
+
}
|
|
2378
3060
|
get statusClass() {
|
|
2379
3061
|
if (!this.entity)
|
|
2380
3062
|
return '';
|
|
@@ -2516,12 +3198,11 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends Enti
|
|
|
2516
3198
|
}
|
|
2517
3199
|
}
|
|
2518
3200
|
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵEntityFormComponentExtended_BaseFactory; return function EntityFormComponentExtended_Factory(__ngFactoryType__) { return (ɵEntityFormComponentExtended_BaseFactory || (ɵEntityFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(EntityFormComponentExtended)))(__ngFactoryType__ || EntityFormComponentExtended); }; })(); }
|
|
2519
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityFormComponentExtended, selectors: [["mj-entity-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 2, consts: [["loadingOrError", ""], ["plainValue", ""], ["class", "entity-explorer", 4, "ngIf", "ngIfElse"], [1, "entity-explorer"], [1, "explorer-header"], [1, "entity-identity"], [1, "entity-icon"], [1, "entity-info"], [1, "entity-title-row"], [1, "entity-name"], [1, "status-badge", 3, "ngClass"], [1, "entity-subtitle"], [1, "schema-table"], [1, "separator"], ["class", "entity-description", 3, "title", 4, "ngIf"], [1, "header-stats"], [1, "stat-item", 3, "click"], [1, "fa-solid", "fa-table-columns"], [1, "stat-value"], [1, "stat-label"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-shield-halved"], [1, "stat-item"], [1, "fa-solid", "fa-database"], ["class", "stat-value", 4, "ngIf"], ["class", "stat-value loading", 4, "ngIf"], [1, "explorer-body"], [1, "nav-rail"], ["class", "nav-item", 3, "active", "title", "click", 4, "ngFor", "ngForOf"], [1, "main-canvas"], ["class", "section overview-section", 4, "ngIf"], ["class", "section fields-section", 4, "ngIf"], ["class", "section relationships-section", 4, "ngIf"], ["class", "section permissions-section", 4, "ngIf"], ["class", "section lineage-section", 4, "ngIf"], ["class", "section history-section", 4, "ngIf"], ["class", "section settings-section", 4, "ngIf"], [1, "detail-panel"], [1, "panel-header"], [4, "ngIf"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], ["class", "panel-content", 4, "ngIf"], [1, "entity-description", 3, "title"], [1, "stat-value", "loading"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "nav-item", 3, "click", "title"], [1, "nav-label"], ["class", "nav-badge", 4, "ngIf"], [1, "nav-badge"], [1, "section", "overview-section"], [1, "section-content"], [1, "stats-cards"], ["title", "View all fields", 1, "stat-card", "clickable", 3, "click"], [1, "stat-card-header"], [1, "fa-solid", "fa-table-cells"], [1, "stat-card-body"], [1, "stat-main"], [1, "stat-details"], [1, "stat-card-action"], [1, "fa-solid", "fa-arrow-right"], ["title", "View relationships", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-diagram-project"], ["title", "View security settings", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-lock"], [1, "stat-card"], [1, "info-panel", "capabilities-panel"], [1, "panel-title"], [1, "fa-solid", "fa-bolt"], [1, "capability-tags"], ["class", "capability-tag", 4, "ngFor", "ngForOf"], ["class", "capability-tag disabled", 4, "ngIf"], [1, "info-panel", "database-panel"], [1, "fa-solid", "fa-server"], [1, "info-grid"], [1, "info-item"], [1, "info-label"], [1, "info-value"], ["class", "info-item", 4, "ngIf"], [1, "info-panel", "codegen-panel"], [1, "fa-solid", "fa-code"], [1, "info-value", "code"], [1, "capability-tag"], [1, "fa-solid", "fa-check"], [1, "capability-tag", "disabled"], [1, "section", "fields-section"], [1, "section-header"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search fields...", 3, "ngModelChange", "ngModel"], [1, "header-controls"], [1, "view-mode-toggle"], ["title", "Group by category", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-layer-group"], ["title", "List view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-list"], ["class", "expand-collapse-controls", 4, "ngIf"], [1, "section-content", "fields-content"], ["class", "field-groups", 4, "ngIf"], ["class", "fields-list-view", 4, "ngIf"], [1, "expand-collapse-controls"], ["title", "Expand all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-down"], ["title", "Collapse all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-up"], [1, "field-groups"], ["class", "field-group", 3, "expanded", 4, "ngFor", "ngForOf"], [1, "field-group"], [1, "group-header", 3, "click"], [1, "expand-icon", "fa-solid", 3, "ngClass"], [1, "group-icon"], [1, "group-label"], [1, "group-count"], ["class", "group-content", 4, "ngIf"], [1, "group-content"], ["class", "field-item", 3, "selected", "click", 4, "ngFor", "ngForOf"], [1, "field-item", 3, "click"], [1, "field-icon"], [1, "field-info"], [1, "field-name"], [1, "field-meta"], [1, "field-type"], ["class", "field-nullable", 4, "ngIf"], ["class", "field-related", 3, "click", 4, "ngIf"], [1, "field-badges"], ["class", "badge pk", "title", "Primary Key", 4, "ngIf"], ["class", "badge fk", "title", "Foreign Key", 4, "ngIf"], ["class", "badge encrypted", "title", "Encrypted", 4, "ngIf"], [1, "field-nullable"], [1, "field-related", 3, "click"], ["title", "Primary Key", 1, "badge", "pk"], ["title", "Foreign Key", 1, "badge", "fk"], ["title", "Encrypted", 1, "badge", "encrypted"], [1, "fields-list-view"], [1, "list-header"], [1, "list-col", "col-seq", "sortable", 3, "click"], [1, "sort-icon", "fa-solid", 3, "ngClass"], [1, "list-col", "col-name", "sortable", 3, "click"], [1, "list-col", "col-type", "sortable", 3, "click"], [1, "list-col", "col-length", "sortable", 3, "click"], [1, "list-col", "col-nullable", "sortable", 3, "click"], [1, "list-col", "col-flags"], [1, "list-col", "col-desc", "sortable", 3, "click"], [1, "list-body"], ["class", "list-row", 3, "selected", "click", 4, "ngFor", "ngForOf"], ["class", "list-empty", 4, "ngIf"], [1, "list-row", 3, "click"], [1, "list-col", "col-seq"], [1, "seq-num"], [1, "list-col", "col-name"], [1, "field-type-icon"], [1, "field-name-text"], [1, "list-col", "col-type"], [1, "type-tag"], [1, "list-col", "col-length"], ["class", "length-value", 4, "ngIf"], ["class", "length-value muted", 4, "ngIf"], [1, "list-col", "col-nullable"], [1, "required-indicator"], [1, "flag-badges"], ["class", "flag-badge pk", "title", "Primary Key", 4, "ngIf"], ["class", "flag-badge fk", "title", "Foreign Key", 4, "ngIf"], ["class", "flag-badge encrypted", "title", "Encrypted", 4, "ngIf"], [1, "list-col", "col-desc"], [1, "desc-text", 3, "title"], [1, "length-value"], [1, "length-value", "muted"], ["title", "Primary Key", 1, "flag-badge", "pk"], [1, "fa-solid", "fa-key"], ["title", "Foreign Key", 1, "flag-badge", "fk"], ["title", "Encrypted", 1, "flag-badge", "encrypted"], [1, "list-empty"], [1, "section", "relationships-section"], [1, "view-toggle"], [1, "toggle-btn", 3, "click"], ["class", "depth-selector", 4, "ngIf"], ["class", "relationships-graph", 4, "ngIf"], ["class", "relationships-list", 4, "ngIf"], [1, "depth-selector"], [1, "depth-label"], [1, "depth-buttons"], ["class", "depth-btn", 3, "active", "title", "click", 4, "ngFor", "ngForOf"], [1, "depth-btn", 3, "click", "title"], [1, "relationships-graph"], [3, "stateChange", "openRecord", "focusEntities", "showFilterPanel", "showHeader", "depth"], [1, "relationships-list"], [1, "relationship-group"], [1, "relationship-group-title"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "relationship-items", "grouped"], ["class", "relationship-item-grouped", 4, "ngFor", "ngForOf"], ["class", "empty-state", 4, "ngIf"], [1, "fa-solid", "fa-arrow-right-to-bracket"], [1, "relationship-item-grouped"], [1, "rel-header"], [1, "rel-icon", "outgoing"], [1, "rel-entity-name"], [1, "rel-fields-chips"], ["class", "field-chip outgoing", 3, "title", "click", 4, "ngFor", "ngForOf"], [1, "field-chip", "outgoing", 3, "click", "title"], [1, "empty-state"], [1, "rel-icon", "incoming"], [1, "fa-solid", "fa-arrow-left"], ["class", "field-chip incoming", 3, "title", 4, "ngFor", "ngForOf"], [1, "field-chip", "incoming", 3, "title"], ["class", "fa-solid fa-box bundle-icon", "title", "Bundled in API", 4, "ngIf"], ["title", "Bundled in API", 1, "fa-solid", "fa-box", "bundle-icon"], [1, "section", "permissions-section"], [1, "permissions-matrix"], [1, "matrix-table"], [1, "center"], [4, "ngFor", "ngForOf"], [1, "api-capabilities"], [1, "fa-solid", "fa-plug"], [1, "capability-grid"], [1, "capability-item"], [1, "fa-solid", 3, "ngClass"], [1, "role-name"], [1, "permission-icon", 3, "ngClass"], [1, "rls-info"], ["class", "rls-badge", "title", "Read RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Create RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Update RLS", 4, "ngIf"], ["class", "rls-badge", "title", "Delete RLS", 4, "ngIf"], ["class", "no-rls", 4, "ngIf"], ["title", "Read RLS", 1, "rls-badge"], ["title", "Create RLS", 1, "rls-badge"], ["title", "Update RLS", 1, "rls-badge"], ["title", "Delete RLS", 1, "rls-badge"], [1, "no-rls"], [1, "section", "lineage-section"], [1, "lineage-diagram"], [1, "lineage-stage", "sources"], [1, "lineage-items"], [1, "lineage-item"], [1, "fa-solid", "fa-keyboard"], ["class", "lineage-item", 4, "ngIf"], [1, "lineage-arrow"], [1, "lineage-stage", "entity-node"], [1, "entity-box"], [1, "lineage-stage", "sinks"], [1, "tracking-config"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "config-grid"], [1, "config-item"], [1, "config-label"], [1, "config-value"], [1, "fa-solid", "fa-eye"], [1, "section", "history-section"], [1, "history-config"], [1, "config-status"], [1, "config-text"], [1, "history-info"], [1, "info-card"], [1, "fa-solid", "fa-info-circle"], ["class", "info-card", 4, "ngIf"], [1, "audit-fields-list"], [1, "section", "settings-section"], [1, "settings-panel"], [1, "fa-solid", "fa-sliders"], ["class", "settings-list", 4, "ngIf"], [1, "fa-solid", "fa-magnifying-glass"], ["class", "fts-config", 4, "ngIf"], [1, "fa-solid", "fa-box"], [1, "config-row"], ["class", "config-row", 4, "ngIf"], [1, "settings-list"], ["class", "setting-item", 4, "ngFor", "ngForOf"], [1, "setting-item"], [1, "setting-name"], [4, "ngIf", "ngIfElse"], ["class", "setting-comment", 4, "ngIf"], [1, "setting-value-json"], ["language", "json", "setup", "minimal", 3, "value", "readonly", "lineWrapping"], [1, "setting-value"], [1, "setting-comment"], [1, "fts-config"], [1, "config-value", "enabled"], [1, "fa-solid", "fa-circle-check"], [1, "config-value", "code"], [1, "panel-content"], [1, "detail-section"], ["class", "field-description", 4, "ngIf"], [1, "detail-grid"], [1, "detail-item"], [1, "label"], [1, "value", "code"], [1, "value"], ["class", "detail-item", 4, "ngIf"], ["class", "detail-section", 4, "ngIf"], [1, "field-description"], [1, "value", "link", 3, "click"], [1, "value-list"], ["class", "value-item", 4, "ngFor", "ngForOf"], [1, "value-item"], ["class", "value-code", 4, "ngIf"], [1, "value-display"], [1, "value-code"], ["class", "explorer-loading", 4, "ngIf"], ["class", "explorer-error", 4, "ngIf"], ["class", "explorer-empty", 4, "ngIf"], [1, "explorer-loading"], ["text", "Loading entity..."], [1, "explorer-error"], [1, "fa-solid", "fa-exclamation-triangle"], [1, "explorer-empty"]], template: function EntityFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
2520
|
-
i0.ɵɵ
|
|
3201
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: EntityFormComponentExtended, selectors: [["mj-entity-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 2, vars: 1, consts: [[1, "entity-explorer"], [1, "explorer-header"], [1, "entity-identity"], [1, "entity-icon"], [1, "entity-info"], [1, "entity-title-row"], [1, "entity-name"], [1, "status-badge", 3, "ngClass"], [1, "status-badge", "isa-badge", "virtual"], ["title", "Click to navigate to parent entity", 1, "status-badge", "isa-badge", "child-type"], [1, "status-badge", "isa-badge", "parent-type"], [1, "isa-breadcrumb"], [1, "entity-subtitle"], [1, "schema-table"], [1, "separator"], [1, "entity-description", 3, "title"], [1, "header-stats"], [1, "stat-item", 3, "click"], [1, "fa-solid", "fa-table-columns"], [1, "stat-value"], [1, "stat-label"], [1, "fa-solid", "fa-link"], [1, "fa-solid", "fa-shield-halved"], [1, "stat-item"], [1, "fa-solid", "fa-database"], [1, "stat-value", "loading"], [1, "explorer-body"], [1, "nav-rail"], [1, "nav-item", 3, "active", "title"], [1, "main-canvas"], [1, "section", "overview-section"], [1, "section", "fields-section"], [1, "section", "relationships-section"], [1, "section", "permissions-section"], [1, "section", "lineage-section"], [1, "section", "history-section"], [1, "section", "settings-section"], [1, "detail-panel"], [1, "panel-header"], [1, "close-btn", 3, "click"], [1, "fa-solid", "fa-xmark"], [1, "panel-content"], [1, "fa-solid", "fa-eye"], ["title", "Click to navigate to parent entity", 1, "status-badge", "isa-badge", "child-type", 3, "click"], [1, "fa-solid", "fa-arrow-up"], [1, "fa-solid", "fa-sitemap"], [1, "fa-solid", "fa-layer-group"], [1, "fa-solid", "fa-spinner", "fa-spin"], [1, "nav-item", 3, "click", "title"], [1, "nav-label"], [1, "nav-badge"], [1, "section-content"], [1, "stats-cards"], ["title", "View all fields", 1, "stat-card", "clickable", 3, "click"], [1, "stat-card-header"], [1, "fa-solid", "fa-table-cells"], [1, "stat-card-body"], [1, "stat-main"], [1, "stat-details"], [1, "stat-card-action"], [1, "fa-solid", "fa-arrow-right"], ["title", "View relationships", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-diagram-project"], ["title", "View security settings", 1, "stat-card", "clickable", 3, "click"], [1, "fa-solid", "fa-lock"], [1, "stat-card"], [1, "info-panel", "capabilities-panel"], [1, "panel-title"], [1, "fa-solid", "fa-bolt"], [1, "capability-tags"], [1, "capability-tag"], [1, "capability-tag", "disabled"], [1, "info-panel", "isa-panel"], [1, "info-panel", "database-panel"], [1, "fa-solid", "fa-server"], [1, "info-grid"], [1, "info-item"], [1, "info-label"], [1, "info-value"], [1, "info-panel", "codegen-panel"], [1, "fa-solid", "fa-code"], [1, "info-value", "code"], [1, "fa-solid", "fa-check"], [1, "isa-info-row", "virtual-info"], [1, "isa-children"], [1, "code"], [1, "isa-chain"], [1, "isa-chain-label"], [1, "isa-chain-nodes"], [1, "isa-node", "current"], [1, "isa-inherited-fields"], [1, "isa-field-inspector"], [1, "isa-siblings"], [1, "fa-solid", "fa-arrow-right", "isa-arrow"], [1, "isa-node", "parent", "clickable", 3, "click", "title"], [1, "isa-chain-label", "clickable", 3, "click"], [1, "fa-solid", 3, "ngClass"], [1, "isa-inspector-groups"], [1, "isa-inspector-group", 3, "own", "inherited"], [1, "isa-inspector-group"], [1, "isa-inspector-header"], [1, "isa-inspector-entity"], [1, "fa-solid", "fa-circle", 2, "color", "#3b82f6", "font-size", "8px"], [1, "fa-solid", "fa-arrow-up", 2, "color", "#6366f1", "font-size", "10px"], [1, "isa-inspector-count"], [1, "isa-inspector-fields"], [1, "isa-inspector-field", 3, "title"], [1, "isa-inspector-type"], [1, "isa-child-list"], [1, "isa-sibling-chip", "clickable", 3, "title"], [1, "isa-sibling-chip", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-arrows-left-right"], [1, "isa-child-chip", "clickable", 3, "title"], [1, "isa-child-chip", "clickable", 3, "click", "title"], [1, "fa-solid", "fa-arrow-down"], [1, "isa-child-count"], [1, "section-header"], [1, "search-box"], [1, "fa-solid", "fa-search"], ["type", "text", "placeholder", "Search fields...", 3, "ngModelChange", "ngModel"], [1, "header-controls"], [1, "view-mode-toggle"], ["title", "Group by category", 1, "toggle-btn", 3, "click"], ["title", "List view", 1, "toggle-btn", 3, "click"], [1, "fa-solid", "fa-list"], [1, "expand-collapse-controls"], [1, "section-content", "fields-content"], [1, "field-groups"], [1, "fields-list-view"], ["title", "Expand all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-down"], ["title", "Collapse all", 1, "control-btn", 3, "click", "disabled"], [1, "fa-solid", "fa-angles-up"], [1, "field-group", 3, "expanded"], [1, "field-group"], [1, "group-header", 3, "click"], [1, "expand-icon", "fa-solid", 3, "ngClass"], [1, "group-icon"], [1, "group-label"], [1, "group-count"], [1, "group-content"], [1, "field-item", 3, "selected"], [1, "field-item", 3, "click"], [1, "field-icon"], [1, "field-info"], [1, "field-name"], [1, "field-meta"], [1, "field-type"], [1, "field-nullable"], [1, "field-related"], [1, "field-badges"], ["title", "Primary Key", 1, "badge", "pk"], ["title", "Foreign Key", 1, "badge", "fk"], ["title", "Encrypted", 1, "badge", "encrypted"], [1, "badge", "inherited", 3, "title"], [1, "field-related", 3, "click"], [1, "list-header"], [1, "list-col", "col-seq", "sortable", 3, "click"], [1, "sort-icon", "fa-solid", 3, "ngClass"], [1, "list-col", "col-name", "sortable", 3, "click"], [1, "list-col", "col-type", "sortable", 3, "click"], [1, "list-col", "col-length", "sortable", 3, "click"], [1, "list-col", "col-nullable", "sortable", 3, "click"], [1, "list-col", "col-flags"], [1, "list-col", "col-desc", "sortable", 3, "click"], [1, "list-body"], [1, "list-row", 3, "selected"], [1, "list-empty"], [1, "list-row", 3, "click"], [1, "list-col", "col-seq"], [1, "seq-num"], [1, "list-col", "col-name"], [1, "field-type-icon"], [1, "field-name-text"], [1, "list-col", "col-type"], [1, "type-tag"], [1, "list-col", "col-length"], [1, "length-value"], [1, "length-value", "muted"], [1, "list-col", "col-nullable"], [1, "required-indicator"], [1, "flag-badges"], ["title", "Primary Key", 1, "flag-badge", "pk"], ["title", "Foreign Key", 1, "flag-badge", "fk"], ["title", "Encrypted", 1, "flag-badge", "encrypted"], [1, "flag-badge", "inherited", 3, "title"], [1, "list-col", "col-desc"], [1, "desc-text", 3, "title"], [1, "fa-solid", "fa-key"], [1, "view-toggle"], [1, "toggle-btn", 3, "click"], [1, "depth-selector"], [1, "relationships-graph"], [1, "relationships-list"], [1, "depth-label"], [1, "depth-buttons"], [1, "depth-btn", 3, "active", "title"], [1, "depth-btn", 3, "click", "title"], [3, "stateChange", "openRecord", "focusEntities", "showFilterPanel", "showHeader", "depth"], [1, "relationship-group"], [1, "relationship-group-title"], [1, "fa-solid", "fa-arrow-right-from-bracket"], [1, "relationship-items", "grouped"], [1, "relationship-item-grouped"], [1, "empty-state"], [1, "fa-solid", "fa-arrow-right-to-bracket"], [1, "rel-header"], [1, "rel-icon", "outgoing"], [1, "rel-entity-name"], [1, "rel-fields-chips"], [1, "field-chip", "outgoing", 3, "title"], [1, "field-chip", "outgoing", 3, "click", "title"], [1, "rel-icon", "incoming"], [1, "fa-solid", "fa-arrow-left"], [1, "field-chip", "incoming", 3, "title"], ["title", "Bundled in API", 1, "fa-solid", "fa-box", "bundle-icon"], [1, "permissions-matrix"], [1, "matrix-table"], [1, "center"], [1, "api-capabilities"], [1, "fa-solid", "fa-plug"], [1, "capability-grid"], [1, "capability-item"], [1, "role-name"], [1, "permission-icon", 3, "ngClass"], [1, "rls-info"], ["title", "Read RLS", 1, "rls-badge"], ["title", "Create RLS", 1, "rls-badge"], ["title", "Update RLS", 1, "rls-badge"], ["title", "Delete RLS", 1, "rls-badge"], [1, "no-rls"], [1, "lineage-diagram"], [1, "lineage-stage", "sources"], [1, "lineage-items"], [1, "lineage-item"], [1, "fa-solid", "fa-keyboard"], [1, "lineage-arrow"], [1, "lineage-stage", "entity-node"], [1, "entity-box"], [1, "lineage-stage", "sinks"], [1, "tracking-config"], [1, "fa-solid", "fa-clock-rotate-left"], [1, "config-grid"], [1, "config-item"], [1, "config-label"], [1, "config-value"], [1, "history-config"], [1, "config-status"], [1, "config-text"], [1, "history-info"], [1, "info-card"], [1, "fa-solid", "fa-info-circle"], [1, "audit-fields-list"], [1, "settings-panel", "isa-settings-panel"], [1, "settings-panel"], [1, "fa-solid", "fa-sliders"], [1, "settings-list"], [1, "fa-solid", "fa-magnifying-glass"], [1, "fts-config"], [1, "fa-solid", "fa-box"], [1, "config-row"], ["title", "Navigate to parent entity", 1, "link"], [1, "muted"], [1, "fa-solid", "fa-circle-check", 2, "color", "#7c3aed"], [1, "fa-solid", "fa-circle-minus", 2, "color", "#94a3b8"], ["title", "Navigate to parent entity", 1, "link", 3, "click"], [1, "link", 3, "click"], [1, "fa-solid", "fa-circle-check", 2, "color", "#059669"], [1, "setting-item"], [1, "setting-name"], [1, "setting-value-json"], [1, "setting-value"], [1, "setting-comment"], ["language", "json", "setup", "minimal", 3, "value", "readonly", "lineWrapping"], [1, "config-value", "enabled"], [1, "fa-solid", "fa-circle-check"], [1, "config-value", "code"], [1, "detail-section"], [1, "field-description"], [1, "detail-grid"], [1, "detail-item"], [1, "label"], [1, "value", "code"], [1, "value"], [1, "detail-section", "isa-source-section"], ["title", "Navigate to source entity", 1, "value", "link", 3, "click"], [1, "value", "link", 3, "click"], [1, "value-list"], [1, "value-item"], [1, "value-code"], [1, "value-display"], [1, "explorer-loading"], [1, "explorer-error"], [1, "explorer-empty"], ["text", "Loading entity..."], [1, "fa-solid", "fa-exclamation-triangle"]], template: function EntityFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
3202
|
+
i0.ɵɵconditionalCreate(0, EntityFormComponentExtended_Conditional_0_Template, 66, 34, "div", 0)(1, EntityFormComponentExtended_Conditional_1_Template, 3, 3);
|
|
2521
3203
|
} if (rf & 2) {
|
|
2522
|
-
|
|
2523
|
-
i0.ɵɵproperty("ngIf", !ctx.isExplorerLoading && ctx.entity)("ngIfElse", loadingOrError_r31);
|
|
2524
|
-
} }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.LoadingComponent, i5.ERDCompositeComponent, i1.SlicePipe, i1.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n\n\n\n\n\n.explorer-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator[_ngcontent-%COMP%] {\n color: var(--border-color);\n}\n\n.entity-description[_ngcontent-%COMP%] {\n color: var(--text-secondary);\n}\n\n\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n\n\n\n.explorer-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n\n\n.nav-rail[_ngcontent-%COMP%] {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label[_ngcontent-%COMP%] {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n transform: scale(1.1);\n}\n\n.nav-item.active[_ngcontent-%COMP%] {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n transform: scale(1.05);\n}\n\n.nav-item.active[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n\n\n\n\n\n.main-canvas[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open[_ngcontent-%COMP%] {\n margin-right: var(--detail-panel-width);\n}\n\n\n\n.section[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--text-muted);\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn[_ngcontent-%COMP%] {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.depth-selector[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.control-btn[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n\n\n.fields-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%]:hover {\n color: var(--accent-color);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable.sorted[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.list-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n.col-seq[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.seq-num[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row[_ngcontent-%COMP%]:hover .seq-num[_ngcontent-%COMP%], \n.list-row.selected[_ngcontent-%COMP%] .seq-num[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon[_ngcontent-%COMP%] {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.required-indicator[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required[_ngcontent-%COMP%] {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.required-indicator.optional[_ngcontent-%COMP%] {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.desc-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n\n\n\n.stats-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover .stat-card-action[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action[_ngcontent-%COMP%] {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-main[_ngcontent-%COMP%] {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n\n\n.info-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n\n\n.capability-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.capability-tag.disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n\n\n.info-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n\n\n\n\n\n.fields-content[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.field-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count[_ngcontent-%COMP%] {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content[_ngcontent-%COMP%] {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.field-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.field-related[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.badge[_ngcontent-%COMP%] {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk[_ngcontent-%COMP%] {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted[_ngcontent-%COMP%] {\n background: #fce7f3;\n color: #9d174d;\n}\n\n\n\n\n\n\n.relationships-graph[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-erd[_ngcontent-%COMP%], \n.relationships-graph[_ngcontent-%COMP%] mj-erd-composite[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n\n\n.relationships-graph[_ngcontent-%COMP%] .erd-splitter[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph[_ngcontent-%COMP%] kendo-splitter-pane[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-details[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.relationship-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.rel-entity[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-field[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type[_ngcontent-%COMP%], \n.rel-display-type[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n.relationship-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.rel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; \n\n}\n\n.field-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%]:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming[_ngcontent-%COMP%]:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip[_ngcontent-%COMP%] .bundle-icon[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n\n\n\n\n\n.permissions-matrix[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table[_ngcontent-%COMP%] th.center[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td.center[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.matrix-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.role-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.permission-icon.granted[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.permission-icon.denied[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.rls-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls[_ngcontent-%COMP%] {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n\n\n.api-capabilities[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n\n\n\n.lineage-diagram[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.lineage-stage[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.lineage-arrow[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.tracking-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.config-item[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.history-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.config-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n\n\n\n.settings-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json[_ngcontent-%COMP%] {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config[_ngcontent-%COMP%], \n.settings-section[_ngcontent-%COMP%] .config-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.enabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n\n\n\n\n\n.detail-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.detail-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%] {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.value-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display[_ngcontent-%COMP%] {\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n}\n\n\n\n\n\n\n.explorer-loading[_ngcontent-%COMP%], \n.explorer-error[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 1;\n}", ".k-pane[_ngcontent-%COMP%] {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n\n\n\n\n\n\n\n\n\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 \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\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: #F5F6FA;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\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\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: #6b7280;\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\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #3b82f6;\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: #10b981;\n color: white;\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\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: #9ca3af;\n}"], changeDetection: 0 }); }
|
|
3204
|
+
i0.ɵɵconditional(!ctx.isExplorerLoading && ctx.entity ? 0 : 1);
|
|
3205
|
+
} }, dependencies: [i1.NgClass, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgModel, i3.CodeEditorComponent, i4.LoadingComponent, i5.ERDCompositeComponent, i1.SlicePipe, i1.DecimalPipe, i1.DatePipe], styles: ["\n\n\n\n\n\n\n\n[_nghost-%COMP%] {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n\n\n\n\n\n.explorer-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info[_ngcontent-%COMP%] {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name[_ngcontent-%COMP%] {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator[_ngcontent-%COMP%] {\n color: var(--border-color);\n}\n\n.entity-description[_ngcontent-%COMP%] {\n color: var(--text-secondary);\n}\n\n\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.stat-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value[_ngcontent-%COMP%] {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n\n\n\n.explorer-body[_ngcontent-%COMP%] {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n\n\n.nav-rail[_ngcontent-%COMP%] {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label[_ngcontent-%COMP%] {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge[_ngcontent-%COMP%] {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item[_ngcontent-%COMP%]:hover i[_ngcontent-%COMP%] {\n transform: scale(1.1);\n}\n\n.nav-item.active[_ngcontent-%COMP%] {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n transform: scale(1.05);\n}\n\n.nav-item.active[_ngcontent-%COMP%]::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n\n\n\n\n\n.main-canvas[_ngcontent-%COMP%] {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open[_ngcontent-%COMP%] {\n margin-right: var(--detail-panel-width);\n}\n\n\n\n.section[_ngcontent-%COMP%] {\n padding: 24px;\n}\n\n.section-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n\n\n.search-box[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box[_ngcontent-%COMP%] input[_ngcontent-%COMP%]::placeholder {\n color: var(--text-muted);\n}\n\n\n\n.view-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn[_ngcontent-%COMP%] {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.depth-selector[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn[_ngcontent-%COMP%]:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n\n\n.header-controls[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle[_ngcontent-%COMP%] {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.control-btn[_ngcontent-%COMP%] {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn[_ngcontent-%COMP%]:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn[_ngcontent-%COMP%]:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n\n\n.fields-list-view[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%] {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable[_ngcontent-%COMP%]:hover {\n color: var(--accent-color);\n}\n\n.list-header[_ngcontent-%COMP%] .list-col.sortable.sorted[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.sort-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable[_ngcontent-%COMP%]:hover .sort-icon[_ngcontent-%COMP%] {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted[_ngcontent-%COMP%] .sort-icon[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n.list-body[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n.col-seq[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.seq-num[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row[_ngcontent-%COMP%]:hover .seq-num[_ngcontent-%COMP%], \n.list-row.selected[_ngcontent-%COMP%] .seq-num[_ngcontent-%COMP%] {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon[_ngcontent-%COMP%] {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag[_ngcontent-%COMP%] {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.required-indicator[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required[_ngcontent-%COMP%] {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.required-indicator.optional[_ngcontent-%COMP%] {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.desc-text[_ngcontent-%COMP%] {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n\n\n\n\n\n.stats-cards[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable[_ngcontent-%COMP%]:hover .stat-card-action[_ngcontent-%COMP%] {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action[_ngcontent-%COMP%] {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-main[_ngcontent-%COMP%] {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body[_ngcontent-%COMP%] .stat-details[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n\n\n.info-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n\n\n.capability-tags[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.capability-tag.disabled[_ngcontent-%COMP%] {\n background: #fee2e2;\n color: #991b1b;\n}\n\n\n\n.info-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n\n\n\n\n\n.fields-content[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.field-group[_ngcontent-%COMP%] {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.group-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon[_ngcontent-%COMP%] {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label[_ngcontent-%COMP%] {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count[_ngcontent-%COMP%] {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content[_ngcontent-%COMP%] {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.field-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected[_ngcontent-%COMP%] {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon[_ngcontent-%COMP%] {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info[_ngcontent-%COMP%] {\n flex: 1;\n min-width: 0;\n}\n\n.field-name[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.field-related[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.field-badges[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.badge[_ngcontent-%COMP%] {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk[_ngcontent-%COMP%] {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk[_ngcontent-%COMP%] {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted[_ngcontent-%COMP%] {\n background: #fce7f3;\n color: #9d174d;\n}\n\n\n\n\n\n\n.relationships-graph[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-erd[_ngcontent-%COMP%], \n.relationships-graph[_ngcontent-%COMP%] mj-erd-composite[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n\n\n.relationships-graph[_ngcontent-%COMP%] .erd-splitter[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph[_ngcontent-%COMP%] kendo-splitter-pane[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph[_ngcontent-%COMP%] mj-entity-details[_ngcontent-%COMP%] {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n}\n\n.graph-placeholder[_ngcontent-%COMP%] .hint[_ngcontent-%COMP%] {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.relationship-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.relationship-item[_ngcontent-%COMP%]:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n.rel-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info[_ngcontent-%COMP%] {\n flex: 1;\n}\n\n.rel-entity[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.rel-field[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type[_ngcontent-%COMP%], \n.rel-display-type[_ngcontent-%COMP%] {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n.relationship-group-title[_ngcontent-%COMP%] .group-count[_ngcontent-%COMP%] {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%] {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.rel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name[_ngcontent-%COMP%] {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; \n\n}\n\n.field-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%] {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing[_ngcontent-%COMP%]:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming[_ngcontent-%COMP%] {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming[_ngcontent-%COMP%]:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip[_ngcontent-%COMP%] .bundle-icon[_ngcontent-%COMP%] {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n\n\n\n\n\n.permissions-matrix[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table[_ngcontent-%COMP%] {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table[_ngcontent-%COMP%] th[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table[_ngcontent-%COMP%] th.center[_ngcontent-%COMP%], \n.matrix-table[_ngcontent-%COMP%] td.center[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.matrix-table[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover {\n background: var(--bg-secondary);\n}\n\n.role-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon[_ngcontent-%COMP%] {\n font-size: 14px;\n}\n\n.permission-icon.granted[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.permission-icon.denied[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.rls-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge[_ngcontent-%COMP%] {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls[_ngcontent-%COMP%] {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n\n\n.api-capabilities[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n\n\n\n\n\n.lineage-diagram[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.lineage-stage[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.lineage-arrow[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node[_ngcontent-%COMP%] .entity-box[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n}\n\n.tracking-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled[_ngcontent-%COMP%] {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n color: var(--text-muted);\n}\n\n.config-item[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.history-config[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status[_ngcontent-%COMP%] {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--success-color);\n}\n\n.config-text[_ngcontent-%COMP%] strong[_ngcontent-%COMP%] {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--accent-color);\n}\n\n.info-card[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card[_ngcontent-%COMP%] code[_ngcontent-%COMP%] {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%] {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list[_ngcontent-%COMP%] li[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n\n\n\n\n\n.settings-panel[_ngcontent-%COMP%] {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item[_ngcontent-%COMP%] {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json[_ngcontent-%COMP%] {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] mj-code-editor[_ngcontent-%COMP%] {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json[_ngcontent-%COMP%] .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment[_ngcontent-%COMP%] {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config[_ngcontent-%COMP%], \n.settings-section[_ngcontent-%COMP%] .config-grid[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row[_ngcontent-%COMP%] .config-label[_ngcontent-%COMP%] {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row[_ngcontent-%COMP%] .config-value.enabled[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n\n\n\n\n\n.detail-panel[_ngcontent-%COMP%] {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open[_ngcontent-%COMP%] {\n transform: translateX(0);\n}\n\n.panel-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn[_ngcontent-%COMP%]:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content[_ngcontent-%COMP%] {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section[_ngcontent-%COMP%] {\n margin-bottom: 24px;\n}\n\n.detail-section[_ngcontent-%COMP%]:last-child {\n margin-bottom: 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%] {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item[_ngcontent-%COMP%] .value.link[_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.value-list[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display[_ngcontent-%COMP%] {\n color: var(--text-primary);\n}\n\n\n\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 14px;\n}\n\n\n\n\n\n\n.explorer-loading[_ngcontent-%COMP%], \n.explorer-error[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%], \n.explorer-empty[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error[_ngcontent-%COMP%] {\n color: var(--danger-color);\n}\n\n.explorer-error[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n\n\n\n\n\n\n\n.isa-badge[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n padding: 3px 10px;\n border-radius: 12px;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n cursor: default;\n white-space: nowrap;\n}\n\n.isa-badge.virtual[_ngcontent-%COMP%] {\n background: rgba(139, 92, 246, 0.12);\n color: #7c3aed;\n border: 1px solid rgba(139, 92, 246, 0.25);\n}\n\n.isa-badge.child-type[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.12);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.25);\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.isa-badge.child-type[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.22);\n}\n\n.isa-badge.parent-type[_ngcontent-%COMP%] {\n background: rgba(16, 185, 129, 0.12);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.25);\n}\n\n\n\n.isa-breadcrumb[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6366f1;\n font-weight: 500;\n margin-top: 2px;\n padding: 2px 0;\n}\n\n.isa-breadcrumb[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 11px;\n opacity: 0.7;\n}\n\n\n\n.isa-panel[_ngcontent-%COMP%] {\n border-left: 3px solid #6366f1;\n}\n\n.isa-info-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--text-primary, #334155);\n}\n\n.isa-info-row.virtual-info[_ngcontent-%COMP%] {\n background: rgba(139, 92, 246, 0.06);\n}\n\n.isa-info-row.virtual-info[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #7c3aed;\n font-size: 14px;\n}\n\n.isa-info-row[_ngcontent-%COMP%] .code[_ngcontent-%COMP%] {\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 6px;\n border-radius: 3px;\n color: #7c3aed;\n}\n\n\n\n.isa-chain[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-chain-label[_ngcontent-%COMP%] {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.isa-chain-nodes[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n padding: 6px 0;\n}\n\n.isa-node[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n}\n\n.isa-node.current[_ngcontent-%COMP%] {\n background: #3b82f6;\n color: white;\n}\n\n.isa-node.parent[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.1);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.isa-arrow[_ngcontent-%COMP%] {\n color: var(--text-muted, #94a3b8);\n font-size: 11px;\n}\n\n.isa-inherited-fields[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--text-muted, #94a3b8);\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inherited-fields[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #6366f1;\n}\n\n\n\n.isa-children[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-child-list[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 4px 0;\n}\n\n.isa-child-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(16, 185, 129, 0.1);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.2);\n}\n\n\n\n.clickable[_ngcontent-%COMP%] {\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.clickable[_ngcontent-%COMP%]:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.isa-node.parent.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(59, 130, 246, 0.2);\n border-color: rgba(59, 130, 246, 0.35);\n}\n\n.isa-child-chip.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(16, 185, 129, 0.2);\n border-color: rgba(16, 185, 129, 0.35);\n}\n\n\n\n.badge.inherited[_ngcontent-%COMP%], \n.flag-badge.inherited[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n border: 1px solid rgba(99, 102, 241, 0.2);\n font-size: 10px;\n font-weight: 600;\n gap: 3px;\n}\n\n.flag-badge.inherited[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 10px;\n}\n\n.flag-badge.inherited[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 9px;\n}\n\n\n\n.isa-source-section[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.04);\n border-radius: 6px;\n padding: 12px;\n margin: -4px -12px 8px;\n}\n\n.isa-source-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #6366f1;\n}\n\n.isa-source-section[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 4px;\n}\n\n\n\n.isa-settings-panel[_ngcontent-%COMP%] {\n border-left: 3px solid #6366f1;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .link[_ngcontent-%COMP%] {\n color: #3b82f6;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .link[_ngcontent-%COMP%]:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.isa-settings-panel[_ngcontent-%COMP%] .muted[_ngcontent-%COMP%] {\n color: var(--text-muted, #94a3b8);\n}\n\n\n\n.isa-field-inspector[_ngcontent-%COMP%] {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-field-inspector[_ngcontent-%COMP%] > .isa-chain-label[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.isa-inspector-groups[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n\n.isa-inspector-group[_ngcontent-%COMP%] {\n border-radius: 6px;\n padding: 8px 12px;\n border: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inspector-group.own[_ngcontent-%COMP%] {\n background: rgba(59, 130, 246, 0.04);\n border-color: rgba(59, 130, 246, 0.15);\n}\n\n.isa-inspector-group.inherited[_ngcontent-%COMP%] {\n background: rgba(99, 102, 241, 0.04);\n border-color: rgba(99, 102, 241, 0.15);\n}\n\n.isa-inspector-header[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.isa-inspector-entity[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-count[_ngcontent-%COMP%] {\n font-size: 11px;\n color: var(--text-muted, #94a3b8);\n font-weight: 500;\n}\n\n.isa-inspector-fields[_ngcontent-%COMP%] {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.isa-inspector-field[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.04);\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-type[_ngcontent-%COMP%] {\n font-size: 10px;\n color: var(--text-muted, #94a3b8);\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n\n\n\n.isa-siblings[_ngcontent-%COMP%] {\n padding: 8px 0;\n}\n\n.isa-sibling-chip[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(245, 158, 11, 0.1);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.isa-sibling-chip.clickable[_ngcontent-%COMP%]:hover {\n background: rgba(245, 158, 11, 0.2);\n border-color: rgba(245, 158, 11, 0.35);\n}\n\n\n\n.isa-child-count[_ngcontent-%COMP%] {\n font-size: 11px;\n background: rgba(0, 0, 0, 0.08);\n padding: 1px 6px;\n border-radius: 8px;\n margin-left: 2px;\n font-weight: 600;\n}\n\n.isa-child-count[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 10px;\n}", ".k-pane[_ngcontent-%COMP%] {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group[_ngcontent-%COMP%] {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n\n\n\n\n\n\n\n\n\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 \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\n.form-panels-container[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 16px;\n padding: 16px;\n background-color: #F5F6FA;\n}\n\n\n\n.form-panels-container[_ngcontent-%COMP%] > .form-card[_ngcontent-%COMP%] {\n width: 100%;\n}\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\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header[_ngcontent-%COMP%] .collapse-icon[_ngcontent-%COMP%] {\n color: #6b7280;\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\n.form-card.related-entity[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-header[_ngcontent-%COMP%]:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity[_ngcontent-%COMP%] .collapsible-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #3b82f6;\n}\n\n\n\n.form-section-controls[_ngcontent-%COMP%] {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-search[_ngcontent-%COMP%]::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls[_ngcontent-%COMP%] .section-count[_ngcontent-%COMP%] {\n font-size: 13px;\n color: #6b7280;\n margin-left: auto;\n font-weight: 500;\n}\n\n\n\n.form-card.search-hidden[_ngcontent-%COMP%] {\n display: none;\n}\n\n\n\n.section-count-badge[_ngcontent-%COMP%] {\n background: #667eea;\n color: white;\n padding: 2px 8px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] .search-highlight[_ngcontent-%COMP%] {\n background-color: #fef08a;\n color: #854d0e;\n padding: 2px 4px;\n border-radius: 3px;\n font-weight: 700;\n}\n\n\n\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge[_ngcontent-%COMP%] {\n background: #10b981;\n color: white;\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\n.collapsible-title[_ngcontent-%COMP%] .row-count-badge.zero-rows[_ngcontent-%COMP%] {\n background: #9ca3af;\n}"], changeDetection: 0 }); }
|
|
2525
3206
|
};
|
|
2526
3207
|
EntityFormComponentExtended = __decorate([
|
|
2527
3208
|
RegisterClass(BaseFormComponent, 'Entities')
|
|
@@ -2529,10 +3210,7 @@ EntityFormComponentExtended = __decorate([
|
|
|
2529
3210
|
export { EntityFormComponentExtended };
|
|
2530
3211
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EntityFormComponentExtended, [{
|
|
2531
3212
|
type: Component,
|
|
2532
|
-
args: [{ selector: 'mj-entity-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"entity-explorer\" *ngIf=\"!isExplorerLoading && entity; else loadingOrError\">\n <!-- ============================================================ -->\n <!-- HEADER BAR -->\n <!-- ============================================================ -->\n <header class=\"explorer-header\">\n <div class=\"entity-identity\">\n <div class=\"entity-icon\" [style.background-color]=\"'#3b82f6'\">\n <i [class]=\"entityIcon\"></i>\n </div>\n <div class=\"entity-info\">\n <div class=\"entity-title-row\">\n <h1 class=\"entity-name\">{{ entityDisplayName }}</h1>\n <span class=\"status-badge\" [ngClass]=\"statusClass\">\n {{ entity.Status }}\n </span>\n </div>\n <div class=\"entity-subtitle\">\n <span class=\"schema-table\">{{ entity.SchemaName }}.{{ entity.BaseTable }}</span>\n <span class=\"separator\">|</span>\n <span class=\"entity-description\" *ngIf=\"entity.Description\" [title]=\"entity.Description\">\n {{ entity.Description | slice:0:80 }}{{ entity.Description.length > 80 ? '...' : '' }}\n </span>\n </div>\n </div>\n </div>\n\n <div class=\"header-stats\">\n <div class=\"stat-item\" (click)=\"setActiveSection('fields')\">\n <i class=\"fa-solid fa-table-columns\"></i>\n <span class=\"stat-value\">{{ stats.fieldCount }}</span>\n <span class=\"stat-label\">Fields</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('relationships')\">\n <i class=\"fa-solid fa-link\"></i>\n <span class=\"stat-value\">{{ stats.relationshipCount }}</span>\n <span class=\"stat-label\">Relations</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('permissions')\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <span class=\"stat-value\">{{ stats.permissionCount }}</span>\n <span class=\"stat-label\">Roles</span>\n </div>\n <div class=\"stat-item\">\n <i class=\"fa-solid fa-database\"></i>\n <span class=\"stat-value\" *ngIf=\"!isRowCountLoading\">{{ formattedRowCount }}</span>\n <span class=\"stat-value loading\" *ngIf=\"isRowCountLoading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </span>\n <span class=\"stat-label\">Rows</span>\n </div>\n </div>\n </header>\n\n <!-- ============================================================ -->\n <!-- MAIN CONTENT AREA -->\n <!-- ============================================================ -->\n <div class=\"explorer-body\">\n <!-- Navigation Rail -->\n <nav class=\"nav-rail\">\n <button\n *ngFor=\"let item of navItems\"\n class=\"nav-item\"\n [class.active]=\"activeSection === item.id\"\n (click)=\"setActiveSection(item.id)\"\n [title]=\"item.label\">\n <i [class]=\"item.icon\"></i>\n <span class=\"nav-label\">{{ item.label }}</span>\n <span class=\"nav-badge\" *ngIf=\"item.badge\">{{ item.badge }}</span>\n </button>\n </nav>\n\n <!-- Main Canvas -->\n <main class=\"main-canvas\" [class.panel-open]=\"detailPanelOpen\">\n <!-- ============================================================ -->\n <!-- OVERVIEW SECTION -->\n <!-- ============================================================ -->\n <section class=\"section overview-section\" *ngIf=\"activeSection === 'overview'\">\n <div class=\"section-content\">\n <!-- Stats Cards Row - Clickable to navigate to sections -->\n <div class=\"stats-cards\">\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('fields')\" title=\"View all fields\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>Fields</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.fieldCount }}</div>\n <div class=\"stat-details\">\n <span>{{ stats.primaryKeyCount }} PKs</span>\n <span>{{ stats.foreignKeyCount }} FKs</span>\n <span *ngIf=\"stats.encryptedFieldCount\">{{ stats.encryptedFieldCount }} Encrypted</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('relationships')\" title=\"View relationships\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>Relationships</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.relationshipCount }}</div>\n <div class=\"stat-details\">\n <span>{{ groupedOutgoingRelationships.length }} Out</span>\n <span>{{ groupedIncomingRelationships.length }} In</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('permissions')\" title=\"View security settings\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-lock\"></i>\n <span>Security</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.permissionCount }}</div>\n <div class=\"stat-details\">\n <span>Roles configured</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n\n <div class=\"stat-card\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Data</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ formattedRowCount }}</div>\n <div class=\"stat-details\">\n <span *ngIf=\"entity.RowCountRunAt\">Updated {{ entity.RowCountRunAt | date:'short' }}</span>\n <span *ngIf=\"!entity.RowCountRunAt\">Row count</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Capabilities -->\n <div class=\"info-panel capabilities-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Capabilities\n </h3>\n <div class=\"capability-tags\">\n <span class=\"capability-tag\" *ngFor=\"let cap of capabilitySummary\">\n <i class=\"fa-solid fa-check\"></i>\n {{ cap }}\n </span>\n <span class=\"capability-tag disabled\" *ngIf=\"!entity.IncludeInAPI\">\n <i class=\"fa-solid fa-xmark\"></i>\n No API\n </span>\n </div>\n </div>\n\n <!-- Database Info -->\n <div class=\"info-panel database-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-server\"></i>\n Database\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Schema</span>\n <span class=\"info-value\">{{ entity.SchemaName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Table</span>\n <span class=\"info-value\">{{ entity.BaseTable }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">View</span>\n <span class=\"info-value\">{{ entity.BaseView }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Delete Type</span>\n <span class=\"info-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spCreate\">\n <span class=\"info-label\">SP Create</span>\n <span class=\"info-value code\">{{ entity.spCreate }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spUpdate\">\n <span class=\"info-label\">SP Update</span>\n <span class=\"info-value code\">{{ entity.spUpdate }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.spDelete\">\n <span class=\"info-label\">SP Delete</span>\n <span class=\"info-value code\">{{ entity.spDelete }}</span>\n </div>\n </div>\n </div>\n\n <!-- Code Gen Info -->\n <div class=\"info-panel codegen-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Code Generation\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Class Name</span>\n <span class=\"info-value code\">{{ entity.ClassName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Code Name</span>\n <span class=\"info-value code\">{{ entity.CodeName }}</span>\n </div>\n <div class=\"info-item\" *ngIf=\"entity.EntityObjectSubclassName\">\n <span class=\"info-label\">Subclass</span>\n <span class=\"info-value code\">{{ entity.EntityObjectSubclassName }}</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- FIELDS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section fields-section\" *ngIf=\"activeSection === 'fields'\">\n <div class=\"section-header\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search fields...\"\n [ngModel]=\"fieldSearchTerm\"\n (ngModelChange)=\"onFieldSearch($event)\">\n </div>\n\n <div class=\"header-controls\">\n <!-- View mode toggle -->\n <div class=\"view-mode-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'grouped'\"\n (click)=\"fieldViewMode = 'grouped'\"\n title=\"Group by category\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'list'\"\n (click)=\"fieldViewMode = 'list'\"\n title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n\n <!-- Expand/Collapse controls (only in grouped mode) -->\n <div class=\"expand-collapse-controls\" *ngIf=\"fieldViewMode === 'grouped'\">\n <button\n class=\"control-btn\"\n (click)=\"expandAllFieldGroups()\"\n [disabled]=\"allFieldGroupsExpanded\"\n title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button\n class=\"control-btn\"\n (click)=\"collapseAllFieldGroups()\"\n [disabled]=\"allFieldGroupsCollapsed\"\n title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"section-content fields-content\">\n <!-- Grouped View -->\n <div class=\"field-groups\" *ngIf=\"fieldViewMode === 'grouped'\">\n <div\n class=\"field-group\"\n *ngFor=\"let group of getFilteredFieldGroups()\"\n [class.expanded]=\"isFieldGroupExpanded(group.id)\">\n\n <div class=\"group-header\" (click)=\"toggleFieldGroup(group.id)\">\n <i class=\"expand-icon fa-solid\" [ngClass]=\"isFieldGroupExpanded(group.id) ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n <i [class]=\"group.icon\" class=\"group-icon\"></i>\n <span class=\"group-label\">{{ group.label }}</span>\n <span class=\"group-count\">{{ group.fields.length }}</span>\n </div>\n\n <div class=\"group-content\" *ngIf=\"isFieldGroupExpanded(group.id)\">\n <div\n class=\"field-item\"\n *ngFor=\"let field of group.fields\"\n (click)=\"selectField(field)\"\n [class.selected]=\"selectedField?.ID === field.ID\">\n\n <div class=\"field-icon\">\n <i [class]=\"getFieldTypeIcon(field)\"></i>\n </div>\n\n <div class=\"field-info\">\n <div class=\"field-name\">{{ field.DisplayName || field.Name }}</div>\n <div class=\"field-meta\">\n <span class=\"field-type\">{{ formatFieldType(field) }}</span>\n <span class=\"field-nullable\" *ngIf=\"!field.AllowsNull\">Required</span>\n <span class=\"field-related\" *ngIf=\"field.RelatedEntityID\" (click)=\"navigateToRelatedEntity(field); $event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n {{ getRelatedEntityName(field) }}\n </span>\n </div>\n </div>\n\n <div class=\"field-badges\">\n <span class=\"badge pk\" *ngIf=\"field.IsPrimaryKey\" title=\"Primary Key\">PK</span>\n <span class=\"badge fk\" *ngIf=\"field.RelatedEntityID && !field.IsPrimaryKey\" title=\"Foreign Key\">FK</span>\n <span class=\"badge encrypted\" *ngIf=\"field.Encrypt\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- List View - Modern Card-style Table -->\n <div class=\"fields-list-view\" *ngIf=\"fieldViewMode === 'list'\">\n <!-- Table Header -->\n <div class=\"list-header\">\n <div class=\"list-col col-seq sortable\" (click)=\"sortFieldList('Sequence')\" [class.sorted]=\"fieldListSortColumn === 'Sequence'\">\n #\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Sequence' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-name sortable\" (click)=\"sortFieldList('Name')\" [class.sorted]=\"fieldListSortColumn === 'Name'\">\n Field Name\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Name' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-type sortable\" (click)=\"sortFieldList('Type')\" [class.sorted]=\"fieldListSortColumn === 'Type'\">\n Type\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Type' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-length sortable\" (click)=\"sortFieldList('Length')\" [class.sorted]=\"fieldListSortColumn === 'Length'\">\n Length\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Length' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-nullable sortable\" (click)=\"sortFieldList('AllowsNull')\" [class.sorted]=\"fieldListSortColumn === 'AllowsNull'\">\n Required\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'AllowsNull' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-flags\">Flags</div>\n <div class=\"list-col col-desc sortable\" (click)=\"sortFieldList('Description')\" [class.sorted]=\"fieldListSortColumn === 'Description'\">\n Description\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Description' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n </div>\n\n <!-- Table Body -->\n <div class=\"list-body\">\n <div\n class=\"list-row\"\n *ngFor=\"let field of getFilteredFieldsList(); let i = index\"\n [class.selected]=\"selectedField?.ID === field.ID\"\n (click)=\"selectField(field)\">\n <div class=\"list-col col-seq\">\n <span class=\"seq-num\">{{ field.Sequence }}</span>\n </div>\n <div class=\"list-col col-name\">\n <i [class]=\"getFieldTypeIcon(field)\" class=\"field-type-icon\"></i>\n <span class=\"field-name-text\">{{ field.DisplayName || field.Name }}</span>\n </div>\n <div class=\"list-col col-type\">\n <span class=\"type-tag\">{{ field.Type }}</span>\n </div>\n <div class=\"list-col col-length\">\n <span class=\"length-value\" *ngIf=\"field.Length > 0\">{{ field.Length }}</span>\n <span class=\"length-value muted\" *ngIf=\"field.Length <= 0\">\u2014</span>\n </div>\n <div class=\"list-col col-nullable\">\n <span class=\"required-indicator\" [class.required]=\"!field.AllowsNull\" [class.optional]=\"field.AllowsNull\">\n <i [class]=\"field.AllowsNull ? 'fa-solid fa-circle-minus' : 'fa-solid fa-circle-check'\"></i>\n {{ field.AllowsNull ? 'Optional' : 'Required' }}\n </span>\n </div>\n <div class=\"list-col col-flags\">\n <div class=\"flag-badges\">\n <span class=\"flag-badge pk\" *ngIf=\"field.IsPrimaryKey\" title=\"Primary Key\">\n <i class=\"fa-solid fa-key\"></i> PK\n </span>\n <span class=\"flag-badge fk\" *ngIf=\"field.RelatedEntityID && !field.IsPrimaryKey\" title=\"Foreign Key\">\n <i class=\"fa-solid fa-link\"></i> FK\n </span>\n <span class=\"flag-badge encrypted\" *ngIf=\"field.Encrypt\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n </div>\n </div>\n <div class=\"list-col col-desc\">\n <span class=\"desc-text\" [title]=\"field.Description || ''\">{{ field.Description || '\u2014' }}</span>\n </div>\n </div>\n </div>\n\n <!-- Empty state -->\n <div class=\"list-empty\" *ngIf=\"getFilteredFieldsList().length === 0\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No fields match your search</span>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- RELATIONSHIPS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section relationships-section\" *ngIf=\"activeSection === 'relationships'\">\n <div class=\"section-header\">\n <div class=\"view-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'diagram'\"\n (click)=\"relationshipViewMode = 'diagram'\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n Diagram\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'list'\"\n (click)=\"relationshipViewMode = 'list'\">\n <i class=\"fa-solid fa-list\"></i>\n List\n </button>\n </div>\n\n <!-- Depth selector (only in diagram mode) -->\n <div class=\"depth-selector\" *ngIf=\"relationshipViewMode === 'diagram'\">\n <span class=\"depth-label\">Depth:</span>\n <div class=\"depth-buttons\">\n <button\n *ngFor=\"let d of [1, 2, 3, 4, 5]\"\n class=\"depth-btn\"\n [class.active]=\"erdDepth === d\"\n (click)=\"setErdDepth(d)\"\n [title]=\"'Show ' + d + ' level(s) of relationships'\">\n {{ d }}\n </button>\n </div>\n </div>\n </div>\n\n <div class=\"section-content\">\n <!-- Diagram View using the ERD composite component -->\n <div class=\"relationships-graph\" *ngIf=\"relationshipViewMode === 'diagram'\">\n <mj-erd-composite\n [focusEntities]=\"entity ? [entity] : []\"\n [showFilterPanel]=\"false\"\n [showHeader]=\"false\"\n [depth]=\"erdDepth\"\n (stateChange)=\"onERDStateChange($event)\"\n (openRecord)=\"onERDOpenRecord($event)\">\n </mj-erd-composite>\n </div>\n\n <!-- List View -->\n <div class=\"relationships-list\" *ngIf=\"relationshipViewMode === 'list'\">\n <!-- Outgoing Relationships (FK fields on this entity) - Grouped by target entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n Outgoing (References to other entities)\n <span class=\"group-count\">{{ groupedOutgoingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n <div\n class=\"relationship-item-grouped\"\n *ngFor=\"let group of groupedOutgoingRelationships\">\n <div class=\"rel-header\">\n <div class=\"rel-icon outgoing\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n <span\n class=\"field-chip outgoing\"\n *ngFor=\"let field of group.fields\"\n [title]=\"field.Description || field.Name\"\n (click)=\"selectField(field)\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.Name }}\n </span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"groupedOutgoingRelationships.length === 0\">\n <p>No outgoing relationships</p>\n </div>\n </div>\n </div>\n\n <!-- Incoming Relationships - Grouped by source entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-to-bracket\"></i>\n Incoming (Entities that reference this one)\n <span class=\"group-count\">{{ groupedIncomingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n <div\n class=\"relationship-item-grouped\"\n *ngFor=\"let group of groupedIncomingRelationships\">\n <div class=\"rel-header\">\n <div class=\"rel-icon incoming\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n <span\n class=\"field-chip incoming\"\n *ngFor=\"let field of group.fields\"\n [title]=\"'Type: ' + field.type\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.fieldName }}\n <i class=\"fa-solid fa-box bundle-icon\" *ngIf=\"field.bundleInAPI\" title=\"Bundled in API\"></i>\n </span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"groupedIncomingRelationships.length === 0\">\n <p>No incoming relationships</p>\n </div>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- PERMISSIONS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section permissions-section\" *ngIf=\"activeSection === 'permissions'\">\n <div class=\"section-content\">\n <div class=\"permissions-matrix\">\n <table class=\"matrix-table\">\n <thead>\n <tr>\n <th>Role</th>\n <th class=\"center\">Create</th>\n <th class=\"center\">Read</th>\n <th class=\"center\">Update</th>\n <th class=\"center\">Delete</th>\n <th>RLS</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let perm of entity.Permissions\">\n <td class=\"role-name\">{{ getRoleName(perm) }}</td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanCreate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanRead ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanUpdate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanDelete ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"rls-info\">\n <span *ngIf=\"perm.ReadRLSFilterID\" class=\"rls-badge\" title=\"Read RLS\">R</span>\n <span *ngIf=\"perm.CreateRLSFilterID\" class=\"rls-badge\" title=\"Create RLS\">C</span>\n <span *ngIf=\"perm.UpdateRLSFilterID\" class=\"rls-badge\" title=\"Update RLS\">U</span>\n <span *ngIf=\"perm.DeleteRLSFilterID\" class=\"rls-badge\" title=\"Delete RLS\">D</span>\n <span *ngIf=\"!perm.ReadRLSFilterID && !perm.CreateRLSFilterID && !perm.UpdateRLSFilterID && !perm.DeleteRLSFilterID\" class=\"no-rls\">None</span>\n </td>\n </tr>\n </tbody>\n </table>\n <div class=\"empty-state\" *ngIf=\"entity.Permissions.length === 0\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <p>No permissions configured</p>\n </div>\n </div>\n\n <div class=\"api-capabilities\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-plug\"></i>\n API Capabilities\n </h3>\n <div class=\"capability-grid\">\n <div class=\"capability-item\" [class.enabled]=\"entity.IncludeInAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.IncludeInAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Include in API</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowAllRowsAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowAllRowsAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow All Rows</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowCreateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowCreateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Create</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUpdateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUpdateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Update</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowDeleteAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowDeleteAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Delete</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUserSearchAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUserSearchAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>User Search</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.CustomResolverAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CustomResolverAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Custom Resolver</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- LINEAGE SECTION -->\n <!-- ============================================================ -->\n <section class=\"section lineage-section\" *ngIf=\"activeSection === 'lineage'\">\n <div class=\"section-content\">\n <div class=\"lineage-diagram\">\n <div class=\"lineage-stage sources\">\n <h4>Data Sources</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-keyboard\"></i>\n <span>Manual Entry</span>\n </div>\n <div class=\"lineage-item\" *ngIf=\"entity.IncludeInAPI\">\n <i class=\"fa-solid fa-plug\"></i>\n <span>API Create</span>\n </div>\n </div>\n </div>\n\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n\n <div class=\"lineage-stage entity-node\">\n <div class=\"entity-box\">\n <i [class]=\"entityIcon\"></i>\n <span>{{ entity.Name }}</span>\n </div>\n </div>\n\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n\n <div class=\"lineage-stage sinks\">\n <h4>Data Sinks</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\" *ngIf=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <span>Record Changes</span>\n </div>\n <div class=\"lineage-item\" *ngIf=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Access Audit</span>\n </div>\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-link\"></i>\n <span>Related Entities ({{ stats.relationshipCount }})</span>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"tracking-config\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Tracking Configuration\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-item\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Track Record Changes</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditRecordAccess ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit Record Access</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditViewRuns\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditViewRuns ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit View Runs</span>\n </div>\n <div class=\"config-item\">\n <span class=\"config-label\">Delete Type:</span>\n <span class=\"config-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.CascadeDeletes\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CascadeDeletes ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Cascade Deletes</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- HISTORY SECTION -->\n <!-- ============================================================ -->\n <section class=\"section history-section\" *ngIf=\"activeSection === 'history'\">\n <div class=\"section-content\">\n <div class=\"history-config\">\n <div class=\"config-status\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-circle-check' : 'fa-circle-xmark'\"></i>\n <div class=\"config-text\">\n <strong>Record Change Tracking</strong>\n <span>{{ entity.TrackRecordChanges ? 'Enabled - All changes are recorded' : 'Disabled - Changes are not tracked' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"history-info\">\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-info-circle\"></i>\n About Change Tracking\n </h4>\n <p *ngIf=\"entity.TrackRecordChanges\">\n This entity has change tracking enabled. All modifications to records are stored in the\n <code>RecordChange</code> table, including the user who made the change, timestamp, and\n the before/after values.\n </p>\n <p *ngIf=\"!entity.TrackRecordChanges\">\n This entity does not have change tracking enabled. To enable it, set\n <code>TrackRecordChanges</code> to <code>true</code> in the entity metadata.\n </p>\n </div>\n\n <div class=\"info-card\" *ngIf=\"entity.TrackRecordChanges\">\n <h4>\n <i class=\"fa-solid fa-database\"></i>\n Audit Fields\n </h4>\n <ul class=\"audit-fields-list\">\n <li>\n <code>__mj_CreatedAt</code> - Record creation timestamp\n </li>\n <li>\n <code>__mj_UpdatedAt</code> - Last modification timestamp\n </li>\n <li *ngIf=\"entity.DeleteType === 'Soft'\">\n <code>__mj_DeletedAt</code> - Soft delete timestamp (when applicable)\n </li>\n </ul>\n </div>\n </div>\n </div>\n </section>\n\n <!-- ============================================================ -->\n <!-- SETTINGS SECTION -->\n <!-- ============================================================ -->\n <section class=\"section settings-section\" *ngIf=\"activeSection === 'settings'\">\n <div class=\"section-content\">\n <!-- Entity Settings -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Entity Settings\n </h3>\n <div class=\"settings-list\" *ngIf=\"entity.Settings.length > 0\">\n <div class=\"setting-item\" *ngFor=\"let setting of entity.Settings\">\n <div class=\"setting-name\">{{ setting.Name }}</div>\n <ng-container *ngIf=\"isJsonValue(setting.Value); else plainValue\">\n <div class=\"setting-value-json\">\n <mj-code-editor\n [value]=\"formatJsonValue(setting.Value)\"\n language=\"json\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n setup=\"minimal\">\n </mj-code-editor>\n </div>\n </ng-container>\n <ng-template #plainValue>\n <div class=\"setting-value\">{{ setting.Value }}</div>\n </ng-template>\n <div class=\"setting-comment\" *ngIf=\"setting.Comments\">{{ setting.Comments }}</div>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"entity.Settings.length === 0\">\n <p>No custom settings configured</p>\n </div>\n </div>\n\n <!-- Full Text Search -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Full-Text Search\n </h3>\n <div class=\"fts-config\" *ngIf=\"entity.FullTextSearchEnabled\">\n <div class=\"config-row\">\n <span class=\"config-label\">Status</span>\n <span class=\"config-value enabled\">\n <i class=\"fa-solid fa-circle-check\"></i>\n Enabled\n </span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextCatalog\">\n <span class=\"config-label\">Catalog</span>\n <span class=\"config-value code\">{{ entity.FullTextCatalog }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextIndex\">\n <span class=\"config-label\">Index</span>\n <span class=\"config-value code\">{{ entity.FullTextIndex }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.FullTextSearchFunction\">\n <span class=\"config-label\">Function</span>\n <span class=\"config-value code\">{{ entity.FullTextSearchFunction }}</span>\n </div>\n </div>\n <div class=\"empty-state\" *ngIf=\"!entity.FullTextSearchEnabled\">\n <p>Full-text search is not enabled for this entity</p>\n </div>\n </div>\n\n <!-- Row Packaging -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-box\"></i>\n Schema Packaging\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Rows to Pack</span>\n <span class=\"config-value\">{{ entity.RowsToPackWithSchema || 'None' }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.RowsToPackSampleCount\">\n <span class=\"config-label\">Sample Count</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleCount }}</span>\n </div>\n <div class=\"config-row\" *ngIf=\"entity.RowsToPackSampleMethod\">\n <span class=\"config-label\">Sample Method</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleMethod }}</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n </main>\n\n <!-- ============================================================ -->\n <!-- DETAIL PANEL (Slides in from right) -->\n <!-- ============================================================ -->\n <aside class=\"detail-panel\" [class.open]=\"detailPanelOpen\">\n <div class=\"panel-header\">\n <h3 *ngIf=\"selectedField\">Field Details</h3>\n <h3 *ngIf=\"selectedRelationship\">Relationship Details</h3>\n <button class=\"close-btn\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n\n <!-- Field Details -->\n <div class=\"panel-content\" *ngIf=\"selectedField\">\n <div class=\"detail-section\">\n <h4>{{ selectedField.DisplayName || selectedField.Name }}</h4>\n <p class=\"field-description\" *ngIf=\"selectedField.Description\">{{ selectedField.Description }}</p>\n </div>\n\n <div class=\"detail-section\">\n <h5>Type Information</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">SQL Type</span>\n <span class=\"value code\">{{ formatFieldType(selectedField) }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">TypeScript Type</span>\n <span class=\"value code\">{{ selectedField.TSType }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Nullable</span>\n <span class=\"value\">{{ selectedField.AllowsNull ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\" *ngIf=\"selectedField.DefaultValue\">\n <span class=\"label\">Default</span>\n <span class=\"value code\">{{ selectedField.DefaultValue }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.RelatedEntityID\">\n <h5>Relationship</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Related Entity</span>\n <span class=\"value link\" (click)=\"navigateToRelatedEntity(selectedField)\">\n {{ getRelatedEntityName(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Display Type</span>\n <span class=\"value\">{{ selectedField.RelatedEntityDisplayType }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.Encrypt\">\n <h5>Encryption</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Encrypted</span>\n <span class=\"value\">Yes</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Decrypt in API</span>\n <span class=\"value\">{{ selectedField.AllowDecryptInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>API Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Allow Update</span>\n <span class=\"value\">{{ selectedField.AllowUpdateAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Include in Search</span>\n <span class=\"value\">{{ selectedField.IncludeInUserSearchAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Full-Text Search</span>\n <span class=\"value\">{{ selectedField.FullTextSearchEnabled ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>Form Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Include in Form</span>\n <span class=\"value\">{{ selectedField.IncludeInGeneratedForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Section</span>\n <span class=\"value\">{{ selectedField.GeneratedFormSection }}</span>\n </div>\n <div class=\"detail-item\" *ngIf=\"selectedField.Category\">\n <span class=\"label\">Category</span>\n <span class=\"value\">{{ selectedField.Category }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Sequence</span>\n <span class=\"value\">{{ selectedField.Sequence }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\" *ngIf=\"selectedField.EntityFieldValues.length > 0\">\n <h5>Allowed Values</h5>\n <div class=\"value-list\">\n <div class=\"value-item\" *ngFor=\"let val of selectedField.EntityFieldValues\">\n <span class=\"value-code\" *ngIf=\"val.Code !== val.Value\">{{ val.Code }}</span>\n <span class=\"value-display\">{{ val.Value }}</span>\n </div>\n </div>\n </div>\n </div>\n\n <!-- Relationship Details -->\n <div class=\"panel-content\" *ngIf=\"selectedRelationship\">\n <div class=\"detail-section\">\n <h4>{{ selectedRelationship.DisplayName || selectedRelationship.Entity }}</h4>\n </div>\n\n <div class=\"detail-section\">\n <h5>Connection</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">From Entity</span>\n <span class=\"value\">{{ selectedRelationship.Entity }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Join Field</span>\n <span class=\"value code\">{{ selectedRelationship.RelatedEntityJoinField }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Type</span>\n <span class=\"value\">{{ selectedRelationship.Type }}</span>\n </div>\n </div>\n </div>\n\n <div class=\"detail-section\">\n <h5>Display Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Display in Form</span>\n <span class=\"value\">{{ selectedRelationship.DisplayInForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Location</span>\n <span class=\"value\">{{ selectedRelationship.DisplayLocation }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Bundle in API</span>\n <span class=\"value\">{{ selectedRelationship.BundleInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n </div>\n </aside>\n </div>\n</div>\n\n<!-- Loading / Error State -->\n<ng-template #loadingOrError>\n <div class=\"explorer-loading\" *ngIf=\"isExplorerLoading\">\n <mj-loading text=\"Loading entity...\"></mj-loading>\n </div>\n <div class=\"explorer-error\" *ngIf=\"!isExplorerLoading && explorerError\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <p>{{ explorerError }}</p>\n </div>\n <div class=\"explorer-empty\" *ngIf=\"!isExplorerLoading && !explorerError && !entity\">\n <i class=\"fa-solid fa-database\"></i>\n <p>Entity metadata not available</p>\n </div>\n</ng-template>\n", styles: ["/* ============================================================\n ENTITY EXPLORER FORM - MAIN STYLES\n A world-class exploration-focused entity intelligence hub\n ============================================================ */\n\n/* CSS Variables */\n:host {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n/* ============================================================\n HEADER BAR\n ============================================================ */\n\n.explorer-header {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator {\n color: var(--border-color);\n}\n\n.entity-description {\n color: var(--text-secondary);\n}\n\n/* Header Stats */\n.header-stats {\n display: flex;\n gap: 4px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item i {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* ============================================================\n MAIN BODY (NAV RAIL + CANVAS)\n ============================================================ */\n\n.explorer-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n/* Navigation Rail - Minimalist Icon-First Design */\n.nav-rail {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item i {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item:hover i {\n transform: scale(1.1);\n}\n\n.nav-item.active {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active i {\n transform: scale(1.05);\n}\n\n.nav-item.active::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n/* ============================================================\n MAIN CANVAS\n ============================================================ */\n\n.main-canvas {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open {\n margin-right: var(--detail-panel-width);\n}\n\n/* Sections */\n.section {\n padding: 24px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* Search Box */\n.search-box {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box i {\n color: var(--text-muted);\n}\n\n.search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box input::placeholder {\n color: var(--text-muted);\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Depth Selector */\n.depth-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Header Controls (view mode + expand/collapse) */\n.header-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls {\n display: flex;\n gap: 4px;\n}\n\n.control-btn {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* Fields List View - Modern Design */\n.fields-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header .list-col {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header .list-col.sortable {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header .list-col.sortable:hover {\n color: var(--accent-color);\n}\n\n.list-header .list-col.sortable.sorted {\n color: var(--accent-color);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable:hover .sort-icon {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted .sort-icon {\n opacity: 1;\n}\n\n.list-body {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n/* Column-specific styling */\n.col-seq {\n text-align: center;\n}\n\n.seq-num {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row:hover .seq-num,\n.list-row.selected .seq-num {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted {\n color: var(--text-muted);\n}\n\n.required-indicator {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required i {\n color: var(--danger-color);\n}\n\n.required-indicator.optional {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc {\n min-width: 0;\n}\n\n.desc-text {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty i {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty span {\n font-size: 14px;\n}\n\n/* ============================================================\n OVERVIEW SECTION\n ============================================================ */\n\n.stats-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable {\n cursor: pointer;\n}\n\n.stat-card.clickable:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable:hover .stat-card-action {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action i {\n font-size: 14px;\n}\n\n.stat-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header i {\n font-size: 14px;\n}\n\n.stat-card-body .stat-main {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body .stat-details {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n/* Info Panels */\n.info-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title i {\n color: var(--accent-color);\n}\n\n/* Capability Tags */\n.capability-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag i {\n font-size: 10px;\n}\n\n.capability-tag.disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n/* Info Grid */\n.info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n/* ============================================================\n FIELDS SECTION\n ============================================================ */\n\n.fields-content {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups {\n display: flex;\n flex-direction: column;\n}\n\n.field-group {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group:last-child {\n border-bottom: none;\n}\n\n.group-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item:last-child {\n border-bottom: none;\n}\n\n.field-item:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info {\n flex: 1;\n min-width: 0;\n}\n\n.field-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable {\n color: var(--danger-color);\n}\n\n.field-related {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related:hover {\n text-decoration: underline;\n}\n\n.field-badges {\n display: flex;\n gap: 4px;\n}\n\n.badge {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted {\n background: #fce7f3;\n color: #9d174d;\n}\n\n/* ============================================================\n RELATIONSHIPS SECTION\n ============================================================ */\n\n.relationships-graph {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph mj-entity-erd,\n.relationships-graph mj-erd-composite {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n/* ERD Splitter for details panel */\n.relationships-graph .erd-splitter {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph kendo-splitter-pane {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph mj-entity-details {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder p {\n margin: 0;\n}\n\n.graph-placeholder .hint {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title i {\n color: var(--accent-color);\n}\n\n.relationship-items {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item:last-child {\n border-bottom: none;\n}\n\n.relationship-item:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden {\n display: none;\n}\n\n.rel-icon {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info {\n flex: 1;\n}\n\n.rel-entity {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity:hover {\n text-decoration: underline;\n}\n\n.rel-field {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type,\n.rel-display-type {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle {\n color: var(--success-color);\n}\n\n/* Grouped relationship styles */\n.relationship-group-title .group-count {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped {\n padding: 8px 0;\n}\n\n.relationship-item-grouped {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped:last-child {\n border-bottom: none;\n}\n\n.rel-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; /* Align with entity name (icon width + gap) */\n}\n\n.field-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip i {\n font-size: 10px;\n}\n\n.field-chip.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip .bundle-icon {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n/* ============================================================\n PERMISSIONS SECTION\n ============================================================ */\n\n.permissions-matrix {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table th,\n.matrix-table td {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table th {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table th.center,\n.matrix-table td.center {\n text-align: center;\n}\n\n.matrix-table tbody tr:hover {\n background: var(--bg-secondary);\n}\n\n.role-name {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon {\n font-size: 14px;\n}\n\n.permission-icon.granted {\n color: var(--success-color);\n}\n\n.permission-icon.denied {\n color: var(--text-muted);\n}\n\n.rls-info {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n/* API Capabilities */\n.api-capabilities {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item i {\n font-size: 12px;\n}\n\n.capability-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled i {\n color: var(--success-color);\n}\n\n/* ============================================================\n LINEAGE SECTION\n ============================================================ */\n\n.lineage-diagram {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage {\n text-align: center;\n}\n\n.lineage-stage h4 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item i {\n color: var(--accent-color);\n}\n\n.lineage-arrow {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node .entity-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node .entity-box i {\n font-size: 24px;\n}\n\n.tracking-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item .config-label {\n color: var(--text-muted);\n}\n\n.config-item .config-value {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n/* ============================================================\n HISTORY SECTION\n ============================================================ */\n\n.history-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status i {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled i {\n color: var(--success-color);\n}\n\n.config-text strong {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text span {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card h4 i {\n color: var(--accent-color);\n}\n\n.info-card p {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list li {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list li:last-child {\n border-bottom: none;\n}\n\n/* ============================================================\n SETTINGS SECTION\n ============================================================ */\n\n.settings-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json mj-code-editor {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json ::ng-deep .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json ::ng-deep .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config,\n.settings-section .config-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row .config-label {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row .config-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row .config-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row .config-value.enabled {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n/* ============================================================\n DETAIL PANEL (Slide-in from right)\n ============================================================ */\n\n.detail-panel {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open {\n transform: translateX(0);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section {\n margin-bottom: 24px;\n}\n\n.detail-section:last-child {\n margin-bottom: 0;\n}\n\n.detail-section h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section h5 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item .label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item .value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item .value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item .value.link {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item .value.link:hover {\n text-decoration: underline;\n}\n\n.value-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display {\n color: var(--text-primary);\n}\n\n/* ============================================================\n EMPTY STATES\n ============================================================ */\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* ============================================================\n LOADING / ERROR STATES\n ============================================================ */\n\n.explorer-loading,\n.explorer-error,\n.explorer-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error i,\n.explorer-empty i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error {\n color: var(--danger-color);\n}\n\n.explorer-error i {\n opacity: 1;\n}\n", ".k-pane {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}\n"] }]
|
|
3213
|
+
args: [{ standalone: false, selector: 'mj-entity-form', changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (!isExplorerLoading && entity) {\n <div class=\"entity-explorer\">\n <!-- ============================================================ -->\n <!-- HEADER BAR -->\n <!-- ============================================================ -->\n <header class=\"explorer-header\">\n <div class=\"entity-identity\">\n <div class=\"entity-icon\" [style.background-color]=\"'#3b82f6'\">\n <i [class]=\"entityIcon\"></i>\n </div>\n <div class=\"entity-info\">\n <div class=\"entity-title-row\">\n <h1 class=\"entity-name\">{{ entityDisplayName }}</h1>\n <span class=\"status-badge\" [ngClass]=\"statusClass\">\n {{ entity.Status }}\n </span>\n @if (IsVirtualEntity) {\n <span class=\"status-badge isa-badge virtual\">\n <i class=\"fa-solid fa-eye\"></i> Virtual\n </span>\n }\n @if (IsChildType) {\n <span class=\"status-badge isa-badge child-type\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Click to navigate to parent entity\">\n <i class=\"fa-solid fa-arrow-up\"></i> IS-A {{ ParentChain[0]?.Name }}\n </span>\n }\n @if (IsParentType) {\n <span class=\"status-badge isa-badge parent-type\">\n <i class=\"fa-solid fa-sitemap\"></i> {{ ChildEntities.length }} child type{{ ChildEntities.length !== 1 ? 's' : '' }}\n </span>\n }\n </div>\n @if (IsChildType) {\n <div class=\"isa-breadcrumb\">\n <i class=\"fa-solid fa-layer-group\"></i>\n {{ IsaBreadcrumb }}\n </div>\n }\n <div class=\"entity-subtitle\">\n <span class=\"schema-table\">{{ entity.SchemaName }}.{{ entity.BaseTable }}</span>\n <span class=\"separator\">|</span>\n @if (entity.Description) {\n <span class=\"entity-description\" [title]=\"entity.Description\">\n {{ entity.Description | slice:0:80 }}{{ entity.Description.length > 80 ? '...' : '' }}\n </span>\n }\n </div>\n </div>\n </div>\n <div class=\"header-stats\">\n <div class=\"stat-item\" (click)=\"setActiveSection('fields')\">\n <i class=\"fa-solid fa-table-columns\"></i>\n <span class=\"stat-value\">{{ stats.fieldCount }}</span>\n <span class=\"stat-label\">Fields</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('relationships')\">\n <i class=\"fa-solid fa-link\"></i>\n <span class=\"stat-value\">{{ stats.relationshipCount }}</span>\n <span class=\"stat-label\">Relations</span>\n </div>\n <div class=\"stat-item\" (click)=\"setActiveSection('permissions')\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <span class=\"stat-value\">{{ stats.permissionCount }}</span>\n <span class=\"stat-label\">Roles</span>\n </div>\n <div class=\"stat-item\">\n <i class=\"fa-solid fa-database\"></i>\n @if (!isRowCountLoading) {\n <span class=\"stat-value\">{{ formattedRowCount }}</span>\n }\n @if (isRowCountLoading) {\n <span class=\"stat-value loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n </span>\n }\n <span class=\"stat-label\">Rows</span>\n </div>\n </div>\n </header>\n <!-- ============================================================ -->\n <!-- MAIN CONTENT AREA -->\n <!-- ============================================================ -->\n <div class=\"explorer-body\">\n <!-- Navigation Rail -->\n <nav class=\"nav-rail\">\n @for (item of navItems; track item) {\n <button\n class=\"nav-item\"\n [class.active]=\"activeSection === item.id\"\n (click)=\"setActiveSection(item.id)\"\n [title]=\"item.label\">\n <i [class]=\"item.icon\"></i>\n <span class=\"nav-label\">{{ item.label }}</span>\n @if (item.badge) {\n <span class=\"nav-badge\">{{ item.badge }}</span>\n }\n </button>\n }\n </nav>\n <!-- Main Canvas -->\n <main class=\"main-canvas\" [class.panel-open]=\"detailPanelOpen\">\n <!-- ============================================================ -->\n <!-- OVERVIEW SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'overview') {\n <section class=\"section overview-section\">\n <div class=\"section-content\">\n <!-- Stats Cards Row - Clickable to navigate to sections -->\n <div class=\"stats-cards\">\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('fields')\" title=\"View all fields\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>Fields</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.fieldCount }}</div>\n <div class=\"stat-details\">\n <span>{{ stats.primaryKeyCount }} PKs</span>\n <span>{{ stats.foreignKeyCount }} FKs</span>\n @if (stats.encryptedFieldCount) {\n <span>{{ stats.encryptedFieldCount }} Encrypted</span>\n }\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('relationships')\" title=\"View relationships\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n <span>Relationships</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.relationshipCount }}</div>\n <div class=\"stat-details\">\n <span>{{ groupedOutgoingRelationships.length }} Out</span>\n <span>{{ groupedIncomingRelationships.length }} In</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card clickable\" (click)=\"setActiveSection('permissions')\" title=\"View security settings\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-lock\"></i>\n <span>Security</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ stats.permissionCount }}</div>\n <div class=\"stat-details\">\n <span>Roles configured</span>\n </div>\n </div>\n <div class=\"stat-card-action\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n </div>\n <div class=\"stat-card\">\n <div class=\"stat-card-header\">\n <i class=\"fa-solid fa-database\"></i>\n <span>Data</span>\n </div>\n <div class=\"stat-card-body\">\n <div class=\"stat-main\">{{ formattedRowCount }}</div>\n <div class=\"stat-details\">\n @if (entity.RowCountRunAt) {\n <span>Updated {{ entity.RowCountRunAt | date:'short' }}</span>\n }\n @if (!entity.RowCountRunAt) {\n <span>Row count</span>\n }\n </div>\n </div>\n </div>\n </div>\n <!-- Capabilities -->\n <div class=\"info-panel capabilities-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-bolt\"></i>\n Capabilities\n </h3>\n <div class=\"capability-tags\">\n @for (cap of capabilitySummary; track cap) {\n <span class=\"capability-tag\">\n <i class=\"fa-solid fa-check\"></i>\n {{ cap }}\n </span>\n }\n @if (!entity.IncludeInAPI) {\n <span class=\"capability-tag disabled\">\n <i class=\"fa-solid fa-xmark\"></i>\n No API\n </span>\n }\n </div>\n </div>\n <!-- IS-A Type Hierarchy -->\n @if (HasISARelationship || IsVirtualEntity) {\n <div class=\"info-panel isa-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-layer-group\"></i>\n Type Hierarchy\n </h3>\n @if (IsVirtualEntity) {\n <div class=\"isa-info-row virtual-info\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Virtual Entity \u2014 read-only view backed by <span class=\"code\">{{ entity.BaseView }}</span></span>\n </div>\n }\n @if (IsChildType) {\n <div class=\"isa-chain\">\n <div class=\"isa-chain-label\">Inheritance Chain</div>\n <div class=\"isa-chain-nodes\">\n <span class=\"isa-node current\">{{ entity.Name }}</span>\n @for (parent of ParentChain; track parent.ID) {\n <i class=\"fa-solid fa-arrow-right isa-arrow\"></i>\n <span class=\"isa-node parent clickable\" (click)=\"NavigateToEntity(parent)\" [title]=\"'Navigate to ' + parent.Name\">\n {{ parent.Name }}\n </span>\n }\n </div>\n <div class=\"isa-inherited-fields\">\n <i class=\"fa-solid fa-table-cells\"></i>\n <span>{{ InheritedFieldCount }} field{{ InheritedFieldCount !== 1 ? 's' : '' }} inherited from parent{{ ParentChain.length > 1 ? 's' : '' }}</span>\n </div>\n </div>\n <!-- IS-A Field Inspector: shows fields grouped by source entity -->\n @if (isaFieldGroups.length > 1) {\n <div class=\"isa-field-inspector\">\n <div class=\"isa-chain-label clickable\" (click)=\"isaFieldInspectorExpanded = !isaFieldInspectorExpanded\">\n <i class=\"fa-solid\" [ngClass]=\"isaFieldInspectorExpanded ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n Field Source Inspector\n </div>\n @if (isaFieldInspectorExpanded) {\n <div class=\"isa-inspector-groups\">\n @for (group of isaFieldGroups; track group.EntityName) {\n <div class=\"isa-inspector-group\" [class.own]=\"group.Level === 0\" [class.inherited]=\"group.Level > 0\">\n <div class=\"isa-inspector-header\">\n <span class=\"isa-inspector-entity\">\n @if (group.Level === 0) {\n <i class=\"fa-solid fa-circle\" style=\"color: #3b82f6; font-size: 8px;\"></i>\n } @else {\n <i class=\"fa-solid fa-arrow-up\" style=\"color: #6366f1; font-size: 10px;\"></i>\n }\n {{ group.Label }}\n </span>\n <span class=\"isa-inspector-count\">{{ group.Fields.length }} field{{ group.Fields.length !== 1 ? 's' : '' }}</span>\n </div>\n <div class=\"isa-inspector-fields\">\n @for (field of group.Fields; track field.ID) {\n <span class=\"isa-inspector-field\" [title]=\"field.Description || field.Name\">\n {{ field.DisplayName || field.Name }}\n <span class=\"isa-inspector-type\">{{ field.Type }}</span>\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- Sibling Types -->\n @if (SiblingEntities.length > 0) {\n <div class=\"isa-siblings\">\n <div class=\"isa-chain-label\">Sibling Types (disjoint under {{ ParentChain[0]?.Name }})</div>\n <div class=\"isa-child-list\">\n @for (sibling of SiblingEntities; track sibling.ID) {\n <span class=\"isa-sibling-chip clickable\" (click)=\"NavigateToEntity(sibling)\" [title]=\"'Navigate to ' + sibling.Name\">\n <i class=\"fa-solid fa-arrows-left-right\"></i>\n {{ sibling.Name }}\n </span>\n }\n </div>\n </div>\n }\n }\n @if (IsParentType) {\n <div class=\"isa-children\">\n <div class=\"isa-chain-label\">Child Types</div>\n <div class=\"isa-child-list\">\n @for (childCount of childEntityCounts; track childCount.EntityName) {\n <span class=\"isa-child-chip clickable\" (click)=\"NavigateToEntity(childCount.EntityInfo)\" [title]=\"'Navigate to ' + childCount.EntityName\">\n <i class=\"fa-solid fa-arrow-down\"></i>\n {{ childCount.EntityName }}\n <span class=\"isa-child-count\">\n @if (childCount.IsLoading) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n } @else {\n {{ childCount.RecordCount | number }}\n }\n </span>\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n <!-- Database Info -->\n <div class=\"info-panel database-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-server\"></i>\n Database\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Schema</span>\n <span class=\"info-value\">{{ entity.SchemaName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Table</span>\n <span class=\"info-value\">{{ entity.BaseTable }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">View</span>\n <span class=\"info-value\">{{ entity.BaseView }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Delete Type</span>\n <span class=\"info-value\">{{ entity.DeleteType }}</span>\n </div>\n @if (entity.spCreate) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Create</span>\n <span class=\"info-value code\">{{ entity.spCreate }}</span>\n </div>\n }\n @if (entity.spUpdate) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Update</span>\n <span class=\"info-value code\">{{ entity.spUpdate }}</span>\n </div>\n }\n @if (entity.spDelete) {\n <div class=\"info-item\">\n <span class=\"info-label\">SP Delete</span>\n <span class=\"info-value code\">{{ entity.spDelete }}</span>\n </div>\n }\n </div>\n </div>\n <!-- Code Gen Info -->\n <div class=\"info-panel codegen-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Code Generation\n </h3>\n <div class=\"info-grid\">\n <div class=\"info-item\">\n <span class=\"info-label\">Class Name</span>\n <span class=\"info-value code\">{{ entity.ClassName }}</span>\n </div>\n <div class=\"info-item\">\n <span class=\"info-label\">Code Name</span>\n <span class=\"info-value code\">{{ entity.CodeName }}</span>\n </div>\n @if (entity.EntityObjectSubclassName) {\n <div class=\"info-item\">\n <span class=\"info-label\">Subclass</span>\n <span class=\"info-value code\">{{ entity.EntityObjectSubclassName }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- FIELDS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'fields') {\n <section class=\"section fields-section\">\n <div class=\"section-header\">\n <div class=\"search-box\">\n <i class=\"fa-solid fa-search\"></i>\n <input\n type=\"text\"\n placeholder=\"Search fields...\"\n [ngModel]=\"fieldSearchTerm\"\n (ngModelChange)=\"onFieldSearch($event)\">\n </div>\n <div class=\"header-controls\">\n <!-- View mode toggle -->\n <div class=\"view-mode-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'grouped'\"\n (click)=\"fieldViewMode = 'grouped'\"\n title=\"Group by category\">\n <i class=\"fa-solid fa-layer-group\"></i>\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"fieldViewMode === 'list'\"\n (click)=\"fieldViewMode = 'list'\"\n title=\"List view\">\n <i class=\"fa-solid fa-list\"></i>\n </button>\n </div>\n <!-- Expand/Collapse controls (only in grouped mode) -->\n @if (fieldViewMode === 'grouped') {\n <div class=\"expand-collapse-controls\">\n <button\n class=\"control-btn\"\n (click)=\"expandAllFieldGroups()\"\n [disabled]=\"allFieldGroupsExpanded\"\n title=\"Expand all\">\n <i class=\"fa-solid fa-angles-down\"></i>\n </button>\n <button\n class=\"control-btn\"\n (click)=\"collapseAllFieldGroups()\"\n [disabled]=\"allFieldGroupsCollapsed\"\n title=\"Collapse all\">\n <i class=\"fa-solid fa-angles-up\"></i>\n </button>\n </div>\n }\n </div>\n </div>\n <div class=\"section-content fields-content\">\n <!-- Grouped View -->\n @if (fieldViewMode === 'grouped') {\n <div class=\"field-groups\">\n @for (group of getFilteredFieldGroups(); track group) {\n <div\n class=\"field-group\"\n [class.expanded]=\"isFieldGroupExpanded(group.id)\">\n <div class=\"group-header\" (click)=\"toggleFieldGroup(group.id)\">\n <i class=\"expand-icon fa-solid\" [ngClass]=\"isFieldGroupExpanded(group.id) ? 'fa-chevron-down' : 'fa-chevron-right'\"></i>\n <i [class]=\"group.icon\" class=\"group-icon\"></i>\n <span class=\"group-label\">{{ group.label }}</span>\n <span class=\"group-count\">{{ group.fields.length }}</span>\n </div>\n @if (isFieldGroupExpanded(group.id)) {\n <div class=\"group-content\">\n @for (field of group.fields; track field) {\n <div\n class=\"field-item\"\n (click)=\"selectField(field)\"\n [class.selected]=\"selectedField?.ID === field.ID\">\n <div class=\"field-icon\">\n <i [class]=\"getFieldTypeIcon(field)\"></i>\n </div>\n <div class=\"field-info\">\n <div class=\"field-name\">{{ field.DisplayName || field.Name }}</div>\n <div class=\"field-meta\">\n <span class=\"field-type\">{{ formatFieldType(field) }}</span>\n @if (!field.AllowsNull) {\n <span class=\"field-nullable\">Required</span>\n }\n @if (field.RelatedEntityID) {\n <span class=\"field-related\" (click)=\"navigateToRelatedEntity(field); $event.stopPropagation()\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n {{ getRelatedEntityName(field) }}\n </span>\n }\n </div>\n </div>\n <div class=\"field-badges\">\n @if (field.IsPrimaryKey) {\n <span class=\"badge pk\" title=\"Primary Key\">PK</span>\n }\n @if (field.RelatedEntityID && !field.IsPrimaryKey) {\n <span class=\"badge fk\" title=\"Foreign Key\">FK</span>\n }\n @if (field.Encrypt) {\n <span class=\"badge encrypted\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n @if (IsInheritedField(field)) {\n <span class=\"badge inherited\" [title]=\"'Inherited from ' + GetISAFieldSource(field)\">\n <i class=\"fa-solid fa-arrow-up\"></i> {{ GetISAFieldSource(field) }}\n </span>\n }\n </div>\n </div>\n }\n </div>\n }\n </div>\n }\n </div>\n }\n <!-- List View - Modern Card-style Table -->\n @if (fieldViewMode === 'list') {\n <div class=\"fields-list-view\">\n <!-- Table Header -->\n <div class=\"list-header\">\n <div class=\"list-col col-seq sortable\" (click)=\"sortFieldList('Sequence')\" [class.sorted]=\"fieldListSortColumn === 'Sequence'\">\n #\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Sequence' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-name sortable\" (click)=\"sortFieldList('Name')\" [class.sorted]=\"fieldListSortColumn === 'Name'\">\n Field Name\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Name' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-type sortable\" (click)=\"sortFieldList('Type')\" [class.sorted]=\"fieldListSortColumn === 'Type'\">\n Type\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Type' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-length sortable\" (click)=\"sortFieldList('Length')\" [class.sorted]=\"fieldListSortColumn === 'Length'\">\n Length\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Length' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-nullable sortable\" (click)=\"sortFieldList('AllowsNull')\" [class.sorted]=\"fieldListSortColumn === 'AllowsNull'\">\n Required\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'AllowsNull' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n <div class=\"list-col col-flags\">Flags</div>\n <div class=\"list-col col-desc sortable\" (click)=\"sortFieldList('Description')\" [class.sorted]=\"fieldListSortColumn === 'Description'\">\n Description\n <i class=\"sort-icon fa-solid\" [ngClass]=\"fieldListSortColumn === 'Description' ? (fieldListSortDirection === 'asc' ? 'fa-caret-up' : 'fa-caret-down') : 'fa-sort'\"></i>\n </div>\n </div>\n <!-- Table Body -->\n <div class=\"list-body\">\n @for (field of getFilteredFieldsList(); track field; let i = $index) {\n <div\n class=\"list-row\"\n [class.selected]=\"selectedField?.ID === field.ID\"\n (click)=\"selectField(field)\">\n <div class=\"list-col col-seq\">\n <span class=\"seq-num\">{{ field.Sequence }}</span>\n </div>\n <div class=\"list-col col-name\">\n <i [class]=\"getFieldTypeIcon(field)\" class=\"field-type-icon\"></i>\n <span class=\"field-name-text\">{{ field.DisplayName || field.Name }}</span>\n </div>\n <div class=\"list-col col-type\">\n <span class=\"type-tag\">{{ field.Type }}</span>\n </div>\n <div class=\"list-col col-length\">\n @if (field.Length > 0) {\n <span class=\"length-value\">{{ field.Length }}</span>\n }\n @if (field.Length <= 0) {\n <span class=\"length-value muted\">\u2014</span>\n }\n </div>\n <div class=\"list-col col-nullable\">\n <span class=\"required-indicator\" [class.required]=\"!field.AllowsNull\" [class.optional]=\"field.AllowsNull\">\n <i [class]=\"field.AllowsNull ? 'fa-solid fa-circle-minus' : 'fa-solid fa-circle-check'\"></i>\n {{ field.AllowsNull ? 'Optional' : 'Required' }}\n </span>\n </div>\n <div class=\"list-col col-flags\">\n <div class=\"flag-badges\">\n @if (field.IsPrimaryKey) {\n <span class=\"flag-badge pk\" title=\"Primary Key\">\n <i class=\"fa-solid fa-key\"></i> PK\n </span>\n }\n @if (field.RelatedEntityID && !field.IsPrimaryKey) {\n <span class=\"flag-badge fk\" title=\"Foreign Key\">\n <i class=\"fa-solid fa-link\"></i> FK\n </span>\n }\n @if (field.Encrypt) {\n <span class=\"flag-badge encrypted\" title=\"Encrypted\">\n <i class=\"fa-solid fa-lock\"></i>\n </span>\n }\n @if (IsInheritedField(field)) {\n <span class=\"flag-badge inherited\" [title]=\"'Inherited from ' + GetISAFieldSource(field)\">\n <i class=\"fa-solid fa-arrow-up\"></i> {{ GetISAFieldSource(field) }}\n </span>\n }\n </div>\n </div>\n <div class=\"list-col col-desc\">\n <span class=\"desc-text\" [title]=\"field.Description || ''\">{{ field.Description || '\u2014' }}</span>\n </div>\n </div>\n }\n </div>\n <!-- Empty state -->\n @if (getFilteredFieldsList().length === 0) {\n <div class=\"list-empty\">\n <i class=\"fa-solid fa-search\"></i>\n <span>No fields match your search</span>\n </div>\n }\n </div>\n }\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- RELATIONSHIPS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'relationships') {\n <section class=\"section relationships-section\">\n <div class=\"section-header\">\n <div class=\"view-toggle\">\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'diagram'\"\n (click)=\"relationshipViewMode = 'diagram'\">\n <i class=\"fa-solid fa-diagram-project\"></i>\n Diagram\n </button>\n <button\n class=\"toggle-btn\"\n [class.active]=\"relationshipViewMode === 'list'\"\n (click)=\"relationshipViewMode = 'list'\">\n <i class=\"fa-solid fa-list\"></i>\n List\n </button>\n </div>\n <!-- Depth selector (only in diagram mode) -->\n @if (relationshipViewMode === 'diagram') {\n <div class=\"depth-selector\">\n <span class=\"depth-label\">Depth:</span>\n <div class=\"depth-buttons\">\n @for (d of [1, 2, 3, 4, 5]; track d) {\n <button\n class=\"depth-btn\"\n [class.active]=\"erdDepth === d\"\n (click)=\"setErdDepth(d)\"\n [title]=\"'Show ' + d + ' level(s) of relationships'\">\n {{ d }}\n </button>\n }\n </div>\n </div>\n }\n </div>\n <div class=\"section-content\">\n <!-- Diagram View using the ERD composite component -->\n @if (relationshipViewMode === 'diagram') {\n <div class=\"relationships-graph\">\n <mj-erd-composite\n [focusEntities]=\"entity ? [entity] : []\"\n [showFilterPanel]=\"false\"\n [showHeader]=\"false\"\n [depth]=\"erdDepth\"\n (stateChange)=\"onERDStateChange($event)\"\n (openRecord)=\"onERDOpenRecord($event)\">\n </mj-erd-composite>\n </div>\n }\n <!-- List View -->\n @if (relationshipViewMode === 'list') {\n <div class=\"relationships-list\">\n <!-- Outgoing Relationships (FK fields on this entity) - Grouped by target entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-from-bracket\"></i>\n Outgoing (References to other entities)\n <span class=\"group-count\">{{ groupedOutgoingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n @for (group of groupedOutgoingRelationships; track group) {\n <div\n class=\"relationship-item-grouped\"\n >\n <div class=\"rel-header\">\n <div class=\"rel-icon outgoing\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n @for (field of group.fields; track field) {\n <span\n class=\"field-chip outgoing\"\n [title]=\"field.Description || field.Name\"\n (click)=\"selectField(field)\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.Name }}\n </span>\n }\n </div>\n </div>\n }\n @if (groupedOutgoingRelationships.length === 0) {\n <div class=\"empty-state\">\n <p>No outgoing relationships</p>\n </div>\n }\n </div>\n </div>\n <!-- Incoming Relationships - Grouped by source entity -->\n <div class=\"relationship-group\">\n <h3 class=\"relationship-group-title\">\n <i class=\"fa-solid fa-arrow-right-to-bracket\"></i>\n Incoming (Entities that reference this one)\n <span class=\"group-count\">{{ groupedIncomingRelationships.length }}</span>\n </h3>\n <div class=\"relationship-items grouped\">\n @for (group of groupedIncomingRelationships; track group) {\n <div\n class=\"relationship-item-grouped\"\n >\n <div class=\"rel-header\">\n <div class=\"rel-icon incoming\">\n <i class=\"fa-solid fa-arrow-left\"></i>\n </div>\n <div class=\"rel-entity-name\">{{ group.entityName }}</div>\n </div>\n <div class=\"rel-fields-chips\">\n @for (field of group.fields; track field) {\n <span\n class=\"field-chip incoming\"\n [title]=\"'Type: ' + field.type\">\n <i class=\"fa-solid fa-link\"></i>\n {{ field.fieldName }}\n @if (field.bundleInAPI) {\n <i class=\"fa-solid fa-box bundle-icon\" title=\"Bundled in API\"></i>\n }\n </span>\n }\n </div>\n </div>\n }\n @if (groupedIncomingRelationships.length === 0) {\n <div class=\"empty-state\">\n <p>No incoming relationships</p>\n </div>\n }\n </div>\n </div>\n </div>\n }\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- PERMISSIONS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'permissions') {\n <section class=\"section permissions-section\">\n <div class=\"section-content\">\n <div class=\"permissions-matrix\">\n <table class=\"matrix-table\">\n <thead>\n <tr>\n <th>Role</th>\n <th class=\"center\">Create</th>\n <th class=\"center\">Read</th>\n <th class=\"center\">Update</th>\n <th class=\"center\">Delete</th>\n <th>RLS</th>\n </tr>\n </thead>\n <tbody>\n @for (perm of entity.Permissions; track perm) {\n <tr>\n <td class=\"role-name\">{{ getRoleName(perm) }}</td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanCreate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanRead ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanUpdate ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"center\">\n <i class=\"permission-icon\" [ngClass]=\"perm.CanDelete ? 'fa-solid fa-check granted' : 'fa-solid fa-xmark denied'\"></i>\n </td>\n <td class=\"rls-info\">\n @if (perm.ReadRLSFilterID) {\n <span class=\"rls-badge\" title=\"Read RLS\">R</span>\n }\n @if (perm.CreateRLSFilterID) {\n <span class=\"rls-badge\" title=\"Create RLS\">C</span>\n }\n @if (perm.UpdateRLSFilterID) {\n <span class=\"rls-badge\" title=\"Update RLS\">U</span>\n }\n @if (perm.DeleteRLSFilterID) {\n <span class=\"rls-badge\" title=\"Delete RLS\">D</span>\n }\n @if (!perm.ReadRLSFilterID && !perm.CreateRLSFilterID && !perm.UpdateRLSFilterID && !perm.DeleteRLSFilterID) {\n <span class=\"no-rls\">None</span>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n @if (entity.Permissions.length === 0) {\n <div class=\"empty-state\">\n <i class=\"fa-solid fa-shield-halved\"></i>\n <p>No permissions configured</p>\n </div>\n }\n </div>\n <div class=\"api-capabilities\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-plug\"></i>\n API Capabilities\n </h3>\n <div class=\"capability-grid\">\n <div class=\"capability-item\" [class.enabled]=\"entity.IncludeInAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.IncludeInAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Include in API</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowAllRowsAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowAllRowsAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow All Rows</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowCreateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowCreateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Create</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUpdateAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUpdateAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Update</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowDeleteAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowDeleteAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Allow Delete</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.AllowUserSearchAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AllowUserSearchAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>User Search</span>\n </div>\n <div class=\"capability-item\" [class.enabled]=\"entity.CustomResolverAPI\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CustomResolverAPI ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Custom Resolver</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- LINEAGE SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'lineage') {\n <section class=\"section lineage-section\">\n <div class=\"section-content\">\n <div class=\"lineage-diagram\">\n <div class=\"lineage-stage sources\">\n <h4>Data Sources</h4>\n <div class=\"lineage-items\">\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-keyboard\"></i>\n <span>Manual Entry</span>\n </div>\n @if (entity.IncludeInAPI) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-plug\"></i>\n <span>API Create</span>\n </div>\n }\n </div>\n </div>\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"lineage-stage entity-node\">\n <div class=\"entity-box\">\n <i [class]=\"entityIcon\"></i>\n <span>{{ entity.Name }}</span>\n </div>\n </div>\n <div class=\"lineage-arrow\">\n <i class=\"fa-solid fa-arrow-right\"></i>\n </div>\n <div class=\"lineage-stage sinks\">\n <h4>Data Sinks</h4>\n <div class=\"lineage-items\">\n @if (entity.TrackRecordChanges) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n <span>Record Changes</span>\n </div>\n }\n @if (entity.AuditRecordAccess) {\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-eye\"></i>\n <span>Access Audit</span>\n </div>\n }\n <div class=\"lineage-item\">\n <i class=\"fa-solid fa-link\"></i>\n <span>Related Entities ({{ stats.relationshipCount }})</span>\n </div>\n </div>\n </div>\n </div>\n <div class=\"tracking-config\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-clock-rotate-left\"></i>\n Tracking Configuration\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-item\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Track Record Changes</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditRecordAccess\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditRecordAccess ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit Record Access</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.AuditViewRuns\">\n <i class=\"fa-solid\" [ngClass]=\"entity.AuditViewRuns ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Audit View Runs</span>\n </div>\n <div class=\"config-item\">\n <span class=\"config-label\">Delete Type:</span>\n <span class=\"config-value\">{{ entity.DeleteType }}</span>\n </div>\n <div class=\"config-item\" [class.enabled]=\"entity.CascadeDeletes\">\n <i class=\"fa-solid\" [ngClass]=\"entity.CascadeDeletes ? 'fa-check' : 'fa-xmark'\"></i>\n <span>Cascade Deletes</span>\n </div>\n </div>\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- HISTORY SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'history') {\n <section class=\"section history-section\">\n <div class=\"section-content\">\n <div class=\"history-config\">\n <div class=\"config-status\" [class.enabled]=\"entity.TrackRecordChanges\">\n <i class=\"fa-solid\" [ngClass]=\"entity.TrackRecordChanges ? 'fa-circle-check' : 'fa-circle-xmark'\"></i>\n <div class=\"config-text\">\n <strong>Record Change Tracking</strong>\n <span>{{ entity.TrackRecordChanges ? 'Enabled - All changes are recorded' : 'Disabled - Changes are not tracked' }}</span>\n </div>\n </div>\n </div>\n <div class=\"history-info\">\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-info-circle\"></i>\n About Change Tracking\n </h4>\n @if (entity.TrackRecordChanges) {\n <p>\n This entity has change tracking enabled. All modifications to records are stored in the\n <code>RecordChange</code> table, including the user who made the change, timestamp, and\n the before/after values.\n </p>\n }\n @if (!entity.TrackRecordChanges) {\n <p>\n This entity does not have change tracking enabled. To enable it, set\n <code>TrackRecordChanges</code> to <code>true</code> in the entity metadata.\n </p>\n }\n </div>\n @if (entity.TrackRecordChanges) {\n <div class=\"info-card\">\n <h4>\n <i class=\"fa-solid fa-database\"></i>\n Audit Fields\n </h4>\n <ul class=\"audit-fields-list\">\n <li>\n <code>__mj_CreatedAt</code> - Record creation timestamp\n </li>\n <li>\n <code>__mj_UpdatedAt</code> - Last modification timestamp\n </li>\n @if (entity.DeleteType === 'Soft') {\n <li>\n <code>__mj_DeletedAt</code> - Soft delete timestamp (when applicable)\n </li>\n }\n </ul>\n </div>\n }\n </div>\n </div>\n </section>\n }\n <!-- ============================================================ -->\n <!-- SETTINGS SECTION -->\n <!-- ============================================================ -->\n @if (activeSection === 'settings') {\n <section class=\"section settings-section\">\n <div class=\"section-content\">\n <!-- IS-A Type Relationship Configuration -->\n @if (HasISARelationship || IsVirtualEntity) {\n <div class=\"settings-panel isa-settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-layer-group\"></i>\n Type Relationship (IS-A)\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Virtual Entity</span>\n <span class=\"config-value\">\n @if (IsVirtualEntity) {\n <i class=\"fa-solid fa-circle-check\" style=\"color: #7c3aed;\"></i> Yes \u2014 read-only view\n } @else {\n <i class=\"fa-solid fa-circle-minus\" style=\"color: #94a3b8;\"></i> No\n }\n </span>\n </div>\n <div class=\"config-row\">\n <span class=\"config-label\">Parent Entity</span>\n <span class=\"config-value\">\n @if (IsChildType) {\n <span class=\"link\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Navigate to parent entity\">\n {{ ParentChain[0]?.Name }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n } @else {\n <span class=\"muted\">None</span>\n }\n </span>\n </div>\n @if (IsChildType) {\n <div class=\"config-row\">\n <span class=\"config-label\">Full Inheritance Chain</span>\n <span class=\"config-value\">{{ IsaBreadcrumb }}</span>\n </div>\n <div class=\"config-row\">\n <span class=\"config-label\">Inherited Fields</span>\n <span class=\"config-value\">{{ InheritedFieldCount }} field{{ InheritedFieldCount !== 1 ? 's' : '' }}</span>\n </div>\n }\n @if (IsParentType) {\n <div class=\"config-row\">\n <span class=\"config-label\">Child Types</span>\n <span class=\"config-value\">\n @for (child of ChildEntities; track child.ID; let last = $last) {\n <span class=\"link\" (click)=\"NavigateToEntity(child)\">{{ child.Name }}</span>{{ last ? '' : ', ' }}\n }\n </span>\n </div>\n }\n @if (SiblingEntities.length > 0) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sibling Types</span>\n <span class=\"config-value\">\n @for (sibling of SiblingEntities; track sibling.ID; let last = $last) {\n <span class=\"link\" (click)=\"NavigateToEntity(sibling)\">{{ sibling.Name }}</span>{{ last ? '' : ', ' }}\n }\n </span>\n </div>\n }\n <div class=\"config-row\">\n <span class=\"config-label\">Disjoint Subtypes</span>\n <span class=\"config-value\">\n @if (IsParentType || IsChildType) {\n <i class=\"fa-solid fa-circle-check\" style=\"color: #059669;\"></i> Enforced \u2014 a parent record can only be one child type\n } @else {\n <span class=\"muted\">N/A</span>\n }\n </span>\n </div>\n </div>\n </div>\n }\n <!-- Entity Settings -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Entity Settings\n </h3>\n @if (entity.Settings.length > 0) {\n <div class=\"settings-list\">\n @for (setting of entity.Settings; track setting) {\n <div class=\"setting-item\">\n <div class=\"setting-name\">{{ setting.Name }}</div>\n @if (isJsonValue(setting.Value)) {\n <div class=\"setting-value-json\">\n <mj-code-editor\n [value]=\"formatJsonValue(setting.Value)\"\n language=\"json\"\n [readonly]=\"true\"\n [lineWrapping]=\"true\"\n setup=\"minimal\">\n </mj-code-editor>\n </div>\n } @else {\n <div class=\"setting-value\">{{ setting.Value }}</div>\n }\n @if (setting.Comments) {\n <div class=\"setting-comment\">{{ setting.Comments }}</div>\n }\n </div>\n }\n </div>\n }\n @if (entity.Settings.length === 0) {\n <div class=\"empty-state\">\n <p>No custom settings configured</p>\n </div>\n }\n </div>\n <!-- Full Text Search -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-magnifying-glass\"></i>\n Full-Text Search\n </h3>\n @if (entity.FullTextSearchEnabled) {\n <div class=\"fts-config\">\n <div class=\"config-row\">\n <span class=\"config-label\">Status</span>\n <span class=\"config-value enabled\">\n <i class=\"fa-solid fa-circle-check\"></i>\n Enabled\n </span>\n </div>\n @if (entity.FullTextCatalog) {\n <div class=\"config-row\">\n <span class=\"config-label\">Catalog</span>\n <span class=\"config-value code\">{{ entity.FullTextCatalog }}</span>\n </div>\n }\n @if (entity.FullTextIndex) {\n <div class=\"config-row\">\n <span class=\"config-label\">Index</span>\n <span class=\"config-value code\">{{ entity.FullTextIndex }}</span>\n </div>\n }\n @if (entity.FullTextSearchFunction) {\n <div class=\"config-row\">\n <span class=\"config-label\">Function</span>\n <span class=\"config-value code\">{{ entity.FullTextSearchFunction }}</span>\n </div>\n }\n </div>\n }\n @if (!entity.FullTextSearchEnabled) {\n <div class=\"empty-state\">\n <p>Full-text search is not enabled for this entity</p>\n </div>\n }\n </div>\n <!-- Row Packaging -->\n <div class=\"settings-panel\">\n <h3 class=\"panel-title\">\n <i class=\"fa-solid fa-box\"></i>\n Schema Packaging\n </h3>\n <div class=\"config-grid\">\n <div class=\"config-row\">\n <span class=\"config-label\">Rows to Pack</span>\n <span class=\"config-value\">{{ entity.RowsToPackWithSchema || 'None' }}</span>\n </div>\n @if (entity.RowsToPackSampleCount) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sample Count</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleCount }}</span>\n </div>\n }\n @if (entity.RowsToPackSampleMethod) {\n <div class=\"config-row\">\n <span class=\"config-label\">Sample Method</span>\n <span class=\"config-value\">{{ entity.RowsToPackSampleMethod }}</span>\n </div>\n }\n </div>\n </div>\n </div>\n </section>\n }\n </main>\n <!-- ============================================================ -->\n <!-- DETAIL PANEL (Slides in from right) -->\n <!-- ============================================================ -->\n <aside class=\"detail-panel\" [class.open]=\"detailPanelOpen\">\n <div class=\"panel-header\">\n @if (selectedField) {\n <h3>Field Details</h3>\n }\n @if (selectedRelationship) {\n <h3>Relationship Details</h3>\n }\n <button class=\"close-btn\" (click)=\"closeDetailPanel()\">\n <i class=\"fa-solid fa-xmark\"></i>\n </button>\n </div>\n <!-- Field Details -->\n @if (selectedField) {\n <div class=\"panel-content\">\n <div class=\"detail-section\">\n <h4>{{ selectedField.DisplayName || selectedField.Name }}</h4>\n @if (selectedField.Description) {\n <p class=\"field-description\">{{ selectedField.Description }}</p>\n }\n </div>\n <div class=\"detail-section\">\n <h5>Type Information</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">SQL Type</span>\n <span class=\"value code\">{{ formatFieldType(selectedField) }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">TypeScript Type</span>\n <span class=\"value code\">{{ selectedField.TSType }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Nullable</span>\n <span class=\"value\">{{ selectedField.AllowsNull ? 'Yes' : 'No' }}</span>\n </div>\n @if (selectedField.DefaultValue) {\n <div class=\"detail-item\">\n <span class=\"label\">Default</span>\n <span class=\"value code\">{{ selectedField.DefaultValue }}</span>\n </div>\n }\n </div>\n </div>\n @if (IsInheritedField(selectedField)) {\n <div class=\"detail-section isa-source-section\">\n <h5>\n <i class=\"fa-solid fa-arrow-up\"></i>\n IS-A Inherited Field\n </h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Source Entity</span>\n <span class=\"value link\" (click)=\"NavigateToEntity(ParentChain[0])\" title=\"Navigate to source entity\">\n {{ GetISAFieldSource(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Routing</span>\n <span class=\"value\">ORM routes Set/Get to parent</span>\n </div>\n </div>\n </div>\n }\n @if (selectedField.RelatedEntityID) {\n <div class=\"detail-section\">\n <h5>Relationship</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Related Entity</span>\n <span class=\"value link\" (click)=\"navigateToRelatedEntity(selectedField)\">\n {{ getRelatedEntityName(selectedField) }}\n <i class=\"fa-solid fa-arrow-right\"></i>\n </span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Display Type</span>\n <span class=\"value\">{{ selectedField.RelatedEntityDisplayType }}</span>\n </div>\n </div>\n </div>\n }\n @if (selectedField.Encrypt) {\n <div class=\"detail-section\">\n <h5>Encryption</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Encrypted</span>\n <span class=\"value\">Yes</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Decrypt in API</span>\n <span class=\"value\">{{ selectedField.AllowDecryptInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n }\n <div class=\"detail-section\">\n <h5>API Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Allow Update</span>\n <span class=\"value\">{{ selectedField.AllowUpdateAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Include in Search</span>\n <span class=\"value\">{{ selectedField.IncludeInUserSearchAPI ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Full-Text Search</span>\n <span class=\"value\">{{ selectedField.FullTextSearchEnabled ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n <div class=\"detail-section\">\n <h5>Form Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Include in Form</span>\n <span class=\"value\">{{ selectedField.IncludeInGeneratedForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Section</span>\n <span class=\"value\">{{ selectedField.GeneratedFormSection }}</span>\n </div>\n @if (selectedField.Category) {\n <div class=\"detail-item\">\n <span class=\"label\">Category</span>\n <span class=\"value\">{{ selectedField.Category }}</span>\n </div>\n }\n <div class=\"detail-item\">\n <span class=\"label\">Sequence</span>\n <span class=\"value\">{{ selectedField.Sequence }}</span>\n </div>\n </div>\n </div>\n @if (selectedField.EntityFieldValues.length > 0) {\n <div class=\"detail-section\">\n <h5>Allowed Values</h5>\n <div class=\"value-list\">\n @for (val of selectedField.EntityFieldValues; track val) {\n <div class=\"value-item\">\n @if (val.Code !== val.Value) {\n <span class=\"value-code\">{{ val.Code }}</span>\n }\n <span class=\"value-display\">{{ val.Value }}</span>\n </div>\n }\n </div>\n </div>\n }\n </div>\n }\n <!-- Relationship Details -->\n @if (selectedRelationship) {\n <div class=\"panel-content\">\n <div class=\"detail-section\">\n <h4>{{ selectedRelationship.DisplayName || selectedRelationship.Entity }}</h4>\n </div>\n <div class=\"detail-section\">\n <h5>Connection</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">From Entity</span>\n <span class=\"value\">{{ selectedRelationship.Entity }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Join Field</span>\n <span class=\"value code\">{{ selectedRelationship.RelatedEntityJoinField }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Type</span>\n <span class=\"value\">{{ selectedRelationship.Type }}</span>\n </div>\n </div>\n </div>\n <div class=\"detail-section\">\n <h5>Display Settings</h5>\n <div class=\"detail-grid\">\n <div class=\"detail-item\">\n <span class=\"label\">Display in Form</span>\n <span class=\"value\">{{ selectedRelationship.DisplayInForm ? 'Yes' : 'No' }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Location</span>\n <span class=\"value\">{{ selectedRelationship.DisplayLocation }}</span>\n </div>\n <div class=\"detail-item\">\n <span class=\"label\">Bundle in API</span>\n <span class=\"value\">{{ selectedRelationship.BundleInAPI ? 'Yes' : 'No' }}</span>\n </div>\n </div>\n </div>\n </div>\n }\n </aside>\n </div>\n </div>\n} @else {\n @if (isExplorerLoading) {\n <div class=\"explorer-loading\">\n <mj-loading text=\"Loading entity...\"></mj-loading>\n </div>\n }\n @if (!isExplorerLoading && explorerError) {\n <div class=\"explorer-error\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n <p>{{ explorerError }}</p>\n </div>\n }\n @if (!isExplorerLoading && !explorerError && !entity) {\n <div class=\"explorer-empty\">\n <i class=\"fa-solid fa-database\"></i>\n <p>Entity metadata not available</p>\n </div>\n }\n}\n\n<!-- Loading / Error State -->\n", styles: ["/* ============================================================\n ENTITY EXPLORER FORM - MAIN STYLES\n A world-class exploration-focused entity intelligence hub\n ============================================================ */\n\n/* CSS Variables */\n:host {\n --nav-rail-width: 64px;\n --header-height: 80px;\n --detail-panel-width: 400px;\n\n --bg-primary: #ffffff;\n --bg-secondary: #f8fafc;\n --bg-tertiary: #f1f5f9;\n\n --text-primary: #1e293b;\n --text-secondary: #64748b;\n --text-muted: #94a3b8;\n\n --border-color: #e2e8f0;\n --border-light: #f1f5f9;\n\n --accent-color: #3b82f6;\n --accent-light: #eff6ff;\n --accent-dark: #1d4ed8;\n\n --success-color: #10b981;\n --warning-color: #f59e0b;\n --danger-color: #ef4444;\n\n --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);\n --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\n --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1);\n\n --radius-sm: 4px;\n --radius-md: 8px;\n --radius-lg: 12px;\n\n --transition-fast: 150ms ease;\n --transition-normal: 250ms ease;\n\n display: block;\n height: 100%;\n width: 100%;\n}\n\n.entity-explorer {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-secondary);\n overflow: hidden;\n}\n\n/* ============================================================\n HEADER BAR\n ============================================================ */\n\n.explorer-header {\n display: flex;\n align-items: center;\n gap: 24px;\n padding: 16px 24px;\n background: var(--bg-primary);\n border-bottom: 1px solid var(--border-color);\n min-height: var(--header-height);\n}\n\n.entity-identity {\n display: flex;\n align-items: center;\n gap: 16px;\n flex: 1;\n min-width: 0;\n}\n\n.entity-icon {\n width: 48px;\n height: 48px;\n border-radius: var(--radius-md);\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n flex-shrink: 0;\n}\n\n.entity-info {\n min-width: 0;\n flex: 1;\n}\n\n.entity-title-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.entity-name {\n font-size: 20px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.status-badge {\n padding: 2px 8px;\n border-radius: 9999px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.status-badge.status-active {\n background: #dcfce7;\n color: #166534;\n}\n\n.status-badge.status-deprecated {\n background: #fef3c7;\n color: #92400e;\n}\n\n.status-badge.status-disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n.entity-subtitle {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 4px;\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.schema-table {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.separator {\n color: var(--border-color);\n}\n\n.entity-description {\n color: var(--text-secondary);\n}\n\n/* Header Stats */\n.header-stats {\n display: flex;\n gap: 4px;\n}\n\n.stat-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: 8px 16px;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: background var(--transition-fast);\n}\n\n.stat-item:hover {\n background: var(--bg-tertiary);\n}\n\n.stat-item i {\n font-size: 16px;\n color: var(--text-muted);\n margin-bottom: 4px;\n}\n\n.stat-value {\n font-size: 18px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.stat-label {\n font-size: 11px;\n color: var(--text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* ============================================================\n MAIN BODY (NAV RAIL + CANVAS)\n ============================================================ */\n\n.explorer-body {\n display: flex;\n flex: 1;\n overflow: hidden;\n}\n\n/* Navigation Rail - Minimalist Icon-First Design */\n.nav-rail {\n width: var(--nav-rail-width);\n background: var(--bg-primary);\n border-right: 1px solid var(--border-color);\n display: flex;\n flex-direction: column;\n padding: 8px 0;\n flex-shrink: 0;\n gap: 2px;\n}\n\n.nav-item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 12px 4px 8px 4px;\n margin: 0 8px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n transition: all var(--transition-fast);\n position: relative;\n color: var(--text-muted);\n min-height: 54px;\n}\n\n.nav-item i {\n font-size: 18px;\n margin-bottom: 4px;\n transition: transform var(--transition-fast);\n}\n\n.nav-label {\n font-size: 9px;\n font-weight: 500;\n letter-spacing: 0.2px;\n white-space: nowrap;\n text-align: center;\n line-height: 1;\n opacity: 0.9;\n}\n\n.nav-badge {\n position: absolute;\n top: 4px;\n right: 4px;\n min-width: 18px;\n height: 18px;\n padding: 0 5px;\n background: var(--accent-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n border-radius: 9999px;\n display: flex;\n align-items: center;\n justify-content: center;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);\n}\n\n.nav-item:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.nav-item:hover i {\n transform: scale(1.1);\n}\n\n.nav-item.active {\n background: var(--accent-light);\n color: var(--accent-color);\n}\n\n.nav-item.active i {\n transform: scale(1.05);\n}\n\n.nav-item.active::before {\n content: '';\n position: absolute;\n left: -8px;\n top: 50%;\n transform: translateY(-50%);\n width: 3px;\n height: 28px;\n background: var(--accent-color);\n border-radius: 0 3px 3px 0;\n}\n\n/* ============================================================\n MAIN CANVAS\n ============================================================ */\n\n.main-canvas {\n flex: 1;\n overflow: auto;\n transition: margin-right var(--transition-normal);\n}\n\n.main-canvas.panel-open {\n margin-right: var(--detail-panel-width);\n}\n\n/* Sections */\n.section {\n padding: 24px;\n}\n\n.section-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 20px;\n}\n\n.section-content {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n/* Search Box */\n.search-box {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 10px 16px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n width: 300px;\n}\n\n.search-box i {\n color: var(--text-muted);\n}\n\n.search-box input {\n flex: 1;\n border: none;\n background: transparent;\n font-size: 14px;\n outline: none;\n color: var(--text-primary);\n}\n\n.search-box input::placeholder {\n color: var(--text-muted);\n}\n\n/* View Toggle */\n.view-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.toggle-btn {\n padding: 8px 16px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 13px;\n transition: all var(--transition-fast);\n}\n\n.toggle-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.toggle-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.toggle-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Depth Selector */\n.depth-selector {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-left: auto;\n}\n\n.depth-label {\n font-size: 13px;\n color: var(--text-secondary);\n font-weight: 500;\n}\n\n.depth-buttons {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.depth-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n transition: all var(--transition-fast);\n}\n\n.depth-btn:not(:last-child) {\n border-right: 1px solid var(--border-color);\n}\n\n.depth-btn:hover {\n background: var(--bg-tertiary);\n}\n\n.depth-btn.active {\n background: var(--accent-color);\n color: white;\n}\n\n/* Header Controls (view mode + expand/collapse) */\n.header-controls {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.view-mode-toggle {\n display: flex;\n border: 1px solid var(--border-color);\n border-radius: var(--radius-md);\n overflow: hidden;\n}\n\n.expand-collapse-controls {\n display: flex;\n gap: 4px;\n}\n\n.control-btn {\n padding: 6px 10px;\n border: 1px solid var(--border-color);\n background: var(--bg-primary);\n color: var(--text-secondary);\n cursor: pointer;\n border-radius: var(--radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n transition: all var(--transition-fast);\n}\n\n.control-btn:hover:not(:disabled) {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.control-btn:disabled {\n opacity: 0.4;\n cursor: not-allowed;\n}\n\n/* Fields List View - Modern Design */\n.fields-list-view {\n display: flex;\n flex-direction: column;\n height: 100%;\n background: var(--bg-primary);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.list-header {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 12px 20px;\n background: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);\n border-bottom: 2px solid var(--border-color);\n position: sticky;\n top: 0;\n z-index: 10;\n}\n\n.list-header .list-col {\n font-size: 11px;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.05em;\n color: var(--text-secondary);\n}\n\n.list-header .list-col.sortable {\n cursor: pointer;\n display: flex;\n align-items: center;\n gap: 6px;\n transition: color var(--transition-fast);\n user-select: none;\n}\n\n.list-header .list-col.sortable:hover {\n color: var(--accent-color);\n}\n\n.list-header .list-col.sortable.sorted {\n color: var(--accent-color);\n}\n\n.sort-icon {\n font-size: 10px;\n opacity: 0.4;\n transition: opacity var(--transition-fast);\n}\n\n.list-col.sortable:hover .sort-icon {\n opacity: 0.7;\n}\n\n.list-col.sortable.sorted .sort-icon {\n opacity: 1;\n}\n\n.list-body {\n flex: 1;\n overflow-y: auto;\n}\n\n.list-row {\n display: grid;\n grid-template-columns: 50px 1fr 100px 70px 100px 100px 1fr;\n gap: 12px;\n padding: 14px 20px;\n border-bottom: 1px solid var(--border-light);\n cursor: pointer;\n transition: all var(--transition-fast);\n align-items: center;\n}\n\n.list-row:hover {\n background: var(--bg-secondary);\n}\n\n.list-row.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 17px;\n}\n\n.list-row:last-child {\n border-bottom: none;\n}\n\n/* Column-specific styling */\n.col-seq {\n text-align: center;\n}\n\n.seq-num {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 28px;\n height: 28px;\n background: var(--bg-tertiary);\n border-radius: 50%;\n font-size: 11px;\n font-weight: 600;\n color: var(--text-secondary);\n}\n\n.list-row:hover .seq-num,\n.list-row.selected .seq-num {\n background: var(--accent-color);\n color: white;\n}\n\n.col-name {\n display: flex;\n align-items: center;\n gap: 10px;\n min-width: 0;\n}\n\n.field-type-icon {\n color: var(--accent-color);\n font-size: 16px;\n width: 20px;\n flex-shrink: 0;\n}\n\n.field-name-text {\n font-weight: 500;\n color: var(--text-primary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.type-tag {\n display: inline-block;\n padding: 4px 10px;\n background: var(--bg-tertiary);\n border-radius: 20px;\n font-size: 11px;\n font-weight: 500;\n color: var(--text-secondary);\n font-family: 'SF Mono', 'Consolas', monospace;\n}\n\n.length-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--text-primary);\n}\n\n.length-value.muted {\n color: var(--text-muted);\n}\n\n.required-indicator {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n font-size: 11px;\n font-weight: 500;\n padding: 4px 8px;\n border-radius: 4px;\n}\n\n.required-indicator.required {\n color: var(--danger-color);\n background: rgba(239, 68, 68, 0.1);\n}\n\n.required-indicator.required i {\n color: var(--danger-color);\n}\n\n.required-indicator.optional {\n color: var(--text-muted);\n background: transparent;\n}\n\n.flag-badges {\n display: flex;\n gap: 6px;\n flex-wrap: wrap;\n}\n\n.flag-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 3px 8px;\n border-radius: 4px;\n font-size: 10px;\n font-weight: 600;\n text-transform: uppercase;\n}\n\n.flag-badge.pk {\n background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);\n color: #78350f;\n}\n\n.flag-badge.fk {\n background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);\n color: white;\n}\n\n.flag-badge.encrypted {\n background: linear-gradient(135deg, #a78bfa 0%, #8b5cf6 100%);\n color: white;\n}\n\n.col-desc {\n min-width: 0;\n}\n\n.desc-text {\n font-size: 13px;\n color: var(--text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n display: block;\n}\n\n.list-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 60px 20px;\n color: var(--text-muted);\n gap: 12px;\n}\n\n.list-empty i {\n font-size: 32px;\n opacity: 0.5;\n}\n\n.list-empty span {\n font-size: 14px;\n}\n\n/* ============================================================\n OVERVIEW SECTION\n ============================================================ */\n\n.stats-cards {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 16px;\n}\n\n.stat-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 16px;\n position: relative;\n transition: all var(--transition-fast);\n}\n\n.stat-card.clickable {\n cursor: pointer;\n}\n\n.stat-card.clickable:hover {\n border-color: var(--accent-color);\n box-shadow: var(--shadow-md);\n transform: translateY(-2px);\n}\n\n.stat-card.clickable:hover .stat-card-action {\n opacity: 1;\n transform: translateX(0);\n}\n\n.stat-card-action {\n position: absolute;\n right: 16px;\n top: 50%;\n transform: translateY(-50%) translateX(-4px);\n color: var(--accent-color);\n opacity: 0;\n transition: all var(--transition-fast);\n}\n\n.stat-card-action i {\n font-size: 14px;\n}\n\n.stat-card-header {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--text-secondary);\n font-size: 13px;\n margin-bottom: 12px;\n}\n\n.stat-card-header i {\n font-size: 14px;\n}\n\n.stat-card-body .stat-main {\n font-size: 32px;\n font-weight: 700;\n color: var(--text-primary);\n line-height: 1;\n margin-bottom: 8px;\n}\n\n.stat-card-body .stat-details {\n display: flex;\n gap: 12px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n/* Info Panels */\n.info-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 16px 0;\n}\n\n.panel-title i {\n color: var(--accent-color);\n}\n\n/* Capability Tags */\n.capability-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n\n.capability-tag {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 12px;\n background: #dcfce7;\n color: #166534;\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 500;\n}\n\n.capability-tag i {\n font-size: 10px;\n}\n\n.capability-tag.disabled {\n background: #fee2e2;\n color: #991b1b;\n}\n\n/* Info Grid */\n.info-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.info-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.info-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.info-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.info-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 13px;\n color: var(--accent-dark);\n}\n\n/* ============================================================\n FIELDS SECTION\n ============================================================ */\n\n.fields-content {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.field-groups {\n display: flex;\n flex-direction: column;\n}\n\n.field-group {\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-group:last-child {\n border-bottom: none;\n}\n\n.group-header {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 14px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n user-select: none;\n background: linear-gradient(to right, var(--bg-secondary), transparent);\n border-left: 3px solid var(--accent-color);\n}\n\n.group-header:hover {\n background: linear-gradient(to right, var(--bg-tertiary), var(--bg-secondary));\n}\n\n.expand-icon {\n font-size: 10px;\n color: var(--text-muted);\n width: 16px;\n transition: transform var(--transition-fast);\n}\n\n.group-icon {\n font-size: 16px;\n color: var(--accent-color);\n width: 20px;\n text-align: center;\n}\n\n.group-label {\n flex: 1;\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n letter-spacing: 0.01em;\n text-transform: uppercase;\n}\n\n.group-count {\n padding: 3px 10px;\n background: var(--accent-light);\n border-radius: 9999px;\n font-size: 12px;\n font-weight: 600;\n color: var(--accent-color);\n}\n\n.group-content {\n border-top: 1px solid var(--border-light);\n background: var(--bg-secondary);\n}\n\n.field-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px 12px 48px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.field-item:last-child {\n border-bottom: none;\n}\n\n.field-item:hover {\n background: var(--accent-light);\n}\n\n.field-item.selected {\n background: var(--accent-light);\n border-left: 3px solid var(--accent-color);\n padding-left: 45px;\n}\n\n.field-icon {\n width: 28px;\n height: 28px;\n border-radius: var(--radius-sm);\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 12px;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n\n.field-info {\n flex: 1;\n min-width: 0;\n}\n\n.field-name {\n font-size: 14px;\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.field-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n margin-top: 2px;\n font-size: 12px;\n}\n\n.field-type {\n font-family: 'SF Mono', 'Consolas', monospace;\n color: var(--text-muted);\n}\n\n.field-nullable {\n color: var(--danger-color);\n}\n\n.field-related {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.field-related:hover {\n text-decoration: underline;\n}\n\n.field-badges {\n display: flex;\n gap: 4px;\n}\n\n.badge {\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-size: 10px;\n font-weight: 600;\n}\n\n.badge.pk {\n background: #fef3c7;\n color: #92400e;\n}\n\n.badge.fk {\n background: #dbeafe;\n color: #1e40af;\n}\n\n.badge.encrypted {\n background: #fce7f3;\n color: #9d174d;\n}\n\n/* ============================================================\n RELATIONSHIPS SECTION\n ============================================================ */\n\n.relationships-graph {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n min-height: 600px;\n height: calc(100vh - 280px);\n max-height: 800px;\n display: flex;\n align-items: stretch;\n justify-content: stretch;\n overflow: hidden;\n}\n\n.relationships-graph mj-entity-erd,\n.relationships-graph mj-erd-composite {\n width: 100%;\n height: 100%;\n flex: 1;\n}\n\n/* ERD Splitter for details panel */\n.relationships-graph .erd-splitter {\n width: 100%;\n height: 100%;\n}\n\n.relationships-graph kendo-splitter-pane {\n display: flex;\n flex-direction: column;\n}\n\n.relationships-graph mj-entity-details {\n height: 100%;\n overflow: auto;\n}\n\n.graph-placeholder {\n text-align: center;\n color: var(--text-muted);\n}\n\n.graph-placeholder i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.graph-placeholder p {\n margin: 0;\n}\n\n.graph-placeholder .hint {\n font-size: 12px;\n margin-top: 8px;\n}\n\n.relationships-list {\n display: flex;\n flex-direction: column;\n gap: 24px;\n}\n\n.relationship-group {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.relationship-group-title {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 14px 20px;\n margin: 0;\n font-size: 14px;\n font-weight: 600;\n color: var(--text-primary);\n background: var(--bg-tertiary);\n border-bottom: 1px solid var(--border-color);\n}\n\n.relationship-group-title i {\n color: var(--accent-color);\n}\n\n.relationship-items {\n display: flex;\n flex-direction: column;\n}\n\n.relationship-item {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: 12px 20px;\n cursor: pointer;\n transition: background var(--transition-fast);\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item:last-child {\n border-bottom: none;\n}\n\n.relationship-item:hover {\n background: var(--accent-light);\n}\n\n.relationship-item.hidden {\n display: none;\n}\n\n.rel-icon {\n width: 32px;\n height: 32px;\n border-radius: 50%;\n background: var(--accent-light);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--accent-color);\n font-size: 12px;\n}\n\n.rel-info {\n flex: 1;\n}\n\n.rel-entity {\n font-size: 14px;\n font-weight: 500;\n color: var(--accent-color);\n cursor: pointer;\n}\n\n.rel-entity:hover {\n text-decoration: underline;\n}\n\n.rel-field {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.rel-meta {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.rel-type,\n.rel-display-type {\n padding: 2px 8px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-sm);\n font-size: 11px;\n color: var(--text-muted);\n}\n\n.rel-bundle {\n color: var(--success-color);\n}\n\n/* Grouped relationship styles */\n.relationship-group-title .group-count {\n margin-left: auto;\n background: var(--accent-light);\n color: var(--accent-color);\n padding: 2px 10px;\n border-radius: 12px;\n font-size: 12px;\n font-weight: 600;\n}\n\n.relationship-items.grouped {\n padding: 8px 0;\n}\n\n.relationship-item-grouped {\n padding: 12px 20px;\n border-bottom: 1px solid var(--border-light);\n}\n\n.relationship-item-grouped:last-child {\n border-bottom: none;\n}\n\n.rel-header {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 10px;\n}\n\n.rel-icon.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n}\n\n.rel-icon.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n}\n\n.rel-entity-name {\n font-size: 15px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.rel-fields-chips {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n padding-left: 44px; /* Align with entity name (icon width + gap) */\n}\n\n.field-chip {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 5px 12px;\n border-radius: 16px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n transition: all var(--transition-fast);\n}\n\n.field-chip i {\n font-size: 10px;\n}\n\n.field-chip.outgoing {\n background: var(--info-light, #e3f2fd);\n color: var(--info-color, #1976d2);\n border: 1px solid var(--info-border, #90caf9);\n}\n\n.field-chip.outgoing:hover {\n background: var(--info-color, #1976d2);\n color: white;\n}\n\n.field-chip.incoming {\n background: var(--success-light, #e8f5e9);\n color: var(--success-color, #388e3c);\n border: 1px solid var(--success-border, #a5d6a7);\n}\n\n.field-chip.incoming:hover {\n background: var(--success-color, #388e3c);\n color: white;\n}\n\n.field-chip .bundle-icon {\n font-size: 9px;\n margin-left: 2px;\n opacity: 0.8;\n}\n\n/* ============================================================\n PERMISSIONS SECTION\n ============================================================ */\n\n.permissions-matrix {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n overflow: hidden;\n}\n\n.matrix-table {\n width: 100%;\n border-collapse: collapse;\n}\n\n.matrix-table th,\n.matrix-table td {\n padding: 12px 16px;\n text-align: left;\n border-bottom: 1px solid var(--border-light);\n}\n\n.matrix-table th {\n background: var(--bg-tertiary);\n font-size: 12px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.matrix-table th.center,\n.matrix-table td.center {\n text-align: center;\n}\n\n.matrix-table tbody tr:hover {\n background: var(--bg-secondary);\n}\n\n.role-name {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n.permission-icon {\n font-size: 14px;\n}\n\n.permission-icon.granted {\n color: var(--success-color);\n}\n\n.permission-icon.denied {\n color: var(--text-muted);\n}\n\n.rls-info {\n display: flex;\n gap: 4px;\n}\n\n.rls-badge {\n width: 20px;\n height: 20px;\n border-radius: var(--radius-sm);\n background: var(--warning-color);\n color: white;\n font-size: 10px;\n font-weight: 600;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.no-rls {\n color: var(--text-muted);\n font-size: 12px;\n}\n\n/* API Capabilities */\n.api-capabilities {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.capability-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));\n gap: 12px;\n}\n\n.capability-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.capability-item i {\n font-size: 12px;\n}\n\n.capability-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.capability-item.enabled i {\n color: var(--success-color);\n}\n\n/* ============================================================\n LINEAGE SECTION\n ============================================================ */\n\n.lineage-diagram {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 24px;\n padding: 40px;\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n}\n\n.lineage-stage {\n text-align: center;\n}\n\n.lineage-stage h4 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.lineage-items {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.lineage-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 16px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-secondary);\n}\n\n.lineage-item i {\n color: var(--accent-color);\n}\n\n.lineage-arrow {\n font-size: 24px;\n color: var(--text-muted);\n}\n\n.entity-node .entity-box {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: 8px;\n padding: 24px 32px;\n background: var(--accent-color);\n color: white;\n border-radius: var(--radius-lg);\n font-weight: 600;\n}\n\n.entity-node .entity-box i {\n font-size: 24px;\n}\n\n.tracking-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n gap: 12px;\n}\n\n.config-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n color: var(--text-muted);\n}\n\n.config-item.enabled {\n background: #dcfce7;\n color: #166534;\n}\n\n.config-item .config-label {\n color: var(--text-muted);\n}\n\n.config-item .config-value {\n font-weight: 500;\n color: var(--text-primary);\n}\n\n/* ============================================================\n HISTORY SECTION\n ============================================================ */\n\n.history-config {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.config-status {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.config-status i {\n font-size: 24px;\n color: var(--text-muted);\n margin-top: 2px;\n}\n\n.config-status.enabled i {\n color: var(--success-color);\n}\n\n.config-text strong {\n display: block;\n font-size: 16px;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.config-text span {\n font-size: 14px;\n color: var(--text-secondary);\n}\n\n.history-info {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));\n gap: 16px;\n}\n\n.info-card {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.info-card h4 {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n color: var(--text-primary);\n margin: 0 0 12px 0;\n}\n\n.info-card h4 i {\n color: var(--accent-color);\n}\n\n.info-card p {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.6;\n margin: 0;\n}\n\n.info-card code {\n background: var(--bg-tertiary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.audit-fields-list {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.audit-fields-list li {\n padding: 8px 0;\n font-size: 14px;\n color: var(--text-secondary);\n border-bottom: 1px solid var(--border-light);\n}\n\n.audit-fields-list li:last-child {\n border-bottom: none;\n}\n\n/* ============================================================\n SETTINGS SECTION\n ============================================================ */\n\n.settings-panel {\n background: var(--bg-primary);\n border: 1px solid var(--border-color);\n border-radius: var(--radius-lg);\n padding: 20px;\n}\n\n.settings-list {\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.setting-item {\n padding: 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n}\n\n.setting-name {\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 4px;\n}\n\n.setting-value {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n word-break: break-all;\n}\n\n.setting-value-json {\n margin-top: 8px;\n border-radius: var(--radius-sm);\n overflow: hidden;\n border: 1px solid var(--border-color);\n background: #fafafa;\n}\n\n.setting-value-json mj-code-editor {\n display: block;\n max-height: 300px;\n}\n\n.setting-value-json ::ng-deep .cm-editor {\n font-size: 12px;\n background: #fafafa;\n}\n\n.setting-value-json ::ng-deep .cm-gutters {\n background: #f0f0f0;\n border-right: 1px solid var(--border-color);\n}\n\n.setting-comment {\n font-size: 12px;\n color: var(--text-muted);\n margin-top: 8px;\n}\n\n.fts-config,\n.settings-section .config-grid {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.config-row {\n display: flex;\n align-items: center;\n gap: 12px;\n}\n\n.config-row .config-label {\n width: 100px;\n font-size: 12px;\n color: var(--text-muted);\n}\n\n.config-row .config-value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.config-row .config-value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.config-row .config-value.enabled {\n display: flex;\n align-items: center;\n gap: 6px;\n color: var(--success-color);\n}\n\n/* ============================================================\n DETAIL PANEL (Slide-in from right)\n ============================================================ */\n\n.detail-panel {\n position: fixed;\n top: 0;\n right: 0;\n width: var(--detail-panel-width);\n height: 100%;\n background: var(--bg-primary);\n border-left: 1px solid var(--border-color);\n box-shadow: var(--shadow-lg);\n transform: translateX(100%);\n transition: transform var(--transition-normal);\n z-index: 100;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n.detail-panel.open {\n transform: translateX(0);\n}\n\n.panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 16px 20px;\n border-bottom: 1px solid var(--border-color);\n flex-shrink: 0;\n}\n\n.panel-header h3 {\n margin: 0;\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n}\n\n.close-btn {\n width: 32px;\n height: 32px;\n border: none;\n background: transparent;\n border-radius: var(--radius-md);\n cursor: pointer;\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--text-muted);\n transition: all var(--transition-fast);\n}\n\n.close-btn:hover {\n background: var(--bg-tertiary);\n color: var(--text-primary);\n}\n\n.panel-content {\n flex: 1;\n overflow-y: auto;\n padding: 20px;\n}\n\n.detail-section {\n margin-bottom: 24px;\n}\n\n.detail-section:last-child {\n margin-bottom: 0;\n}\n\n.detail-section h4 {\n font-size: 16px;\n font-weight: 600;\n color: var(--text-primary);\n margin: 0 0 8px 0;\n}\n\n.detail-section h5 {\n font-size: 12px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n margin: 0 0 12px 0;\n}\n\n.field-description {\n font-size: 14px;\n color: var(--text-secondary);\n line-height: 1.5;\n margin: 0;\n}\n\n.detail-grid {\n display: grid;\n grid-template-columns: repeat(2, 1fr);\n gap: 12px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.detail-item .label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted);\n}\n\n.detail-item .value {\n font-size: 14px;\n color: var(--text-primary);\n}\n\n.detail-item .value.code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 12px;\n color: var(--accent-dark);\n}\n\n.detail-item .value.link {\n color: var(--accent-color);\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.detail-item .value.link:hover {\n text-decoration: underline;\n}\n\n.value-list {\n display: flex;\n flex-direction: column;\n gap: 6px;\n max-height: 200px;\n overflow-y: auto;\n}\n\n.value-item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n background: var(--bg-tertiary);\n border-radius: var(--radius-md);\n font-size: 13px;\n}\n\n.value-code {\n font-family: 'SF Mono', 'Consolas', monospace;\n font-size: 11px;\n color: var(--accent-dark);\n background: var(--bg-primary);\n padding: 2px 6px;\n border-radius: var(--radius-sm);\n}\n\n.value-display {\n color: var(--text-primary);\n}\n\n/* ============================================================\n EMPTY STATES\n ============================================================ */\n\n.empty-state {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.empty-state i {\n font-size: 32px;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.empty-state p {\n margin: 0;\n font-size: 14px;\n}\n\n/* ============================================================\n LOADING / ERROR STATES\n ============================================================ */\n\n.explorer-loading,\n.explorer-error,\n.explorer-empty {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n height: 100%;\n padding: 40px;\n text-align: center;\n color: var(--text-muted);\n}\n\n.explorer-error i,\n.explorer-empty i {\n font-size: 48px;\n margin-bottom: 16px;\n opacity: 0.5;\n}\n\n.explorer-error {\n color: var(--danger-color);\n}\n\n.explorer-error i {\n opacity: 1;\n}\n\n/* ============================================================\n IS-A TYPE HIERARCHY & VIRTUAL ENTITY STYLES\n ============================================================ */\n\n/* Badge variants for header */\n.isa-badge {\n font-size: 11px;\n font-weight: 600;\n padding: 3px 10px;\n border-radius: 12px;\n display: inline-flex;\n align-items: center;\n gap: 5px;\n cursor: default;\n white-space: nowrap;\n}\n\n.isa-badge.virtual {\n background: rgba(139, 92, 246, 0.12);\n color: #7c3aed;\n border: 1px solid rgba(139, 92, 246, 0.25);\n}\n\n.isa-badge.child-type {\n background: rgba(59, 130, 246, 0.12);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.25);\n cursor: pointer;\n transition: background 0.15s ease;\n}\n\n.isa-badge.child-type:hover {\n background: rgba(59, 130, 246, 0.22);\n}\n\n.isa-badge.parent-type {\n background: rgba(16, 185, 129, 0.12);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.25);\n}\n\n/* Breadcrumb under title */\n.isa-breadcrumb {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: #6366f1;\n font-weight: 500;\n margin-top: 2px;\n padding: 2px 0;\n}\n\n.isa-breadcrumb i {\n font-size: 11px;\n opacity: 0.7;\n}\n\n/* IS-A Panel (overview section) */\n.isa-panel {\n border-left: 3px solid #6366f1;\n}\n\n.isa-info-row {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 8px 12px;\n border-radius: 6px;\n font-size: 13px;\n color: var(--text-primary, #334155);\n}\n\n.isa-info-row.virtual-info {\n background: rgba(139, 92, 246, 0.06);\n}\n\n.isa-info-row.virtual-info i {\n color: #7c3aed;\n font-size: 14px;\n}\n\n.isa-info-row .code {\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n font-size: 12px;\n background: rgba(0, 0, 0, 0.06);\n padding: 1px 6px;\n border-radius: 3px;\n color: #7c3aed;\n}\n\n/* Inheritance chain */\n.isa-chain {\n padding: 8px 0;\n}\n\n.isa-chain-label {\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n color: var(--text-muted, #94a3b8);\n margin-bottom: 8px;\n}\n\n.isa-chain-nodes {\n display: flex;\n align-items: center;\n gap: 8px;\n flex-wrap: wrap;\n padding: 6px 0;\n}\n\n.isa-node {\n display: inline-flex;\n align-items: center;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n}\n\n.isa-node.current {\n background: #3b82f6;\n color: white;\n}\n\n.isa-node.parent {\n background: rgba(59, 130, 246, 0.1);\n color: #2563eb;\n border: 1px solid rgba(59, 130, 246, 0.2);\n}\n\n.isa-arrow {\n color: var(--text-muted, #94a3b8);\n font-size: 11px;\n}\n\n.isa-inherited-fields {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n color: var(--text-muted, #94a3b8);\n margin-top: 8px;\n padding-top: 8px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inherited-fields i {\n font-size: 12px;\n color: #6366f1;\n}\n\n/* Child types list */\n.isa-children {\n padding: 8px 0;\n}\n\n.isa-child-list {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n padding: 4px 0;\n}\n\n.isa-child-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(16, 185, 129, 0.1);\n color: #059669;\n border: 1px solid rgba(16, 185, 129, 0.2);\n}\n\n/* Clickable elements */\n.clickable {\n cursor: pointer;\n transition: all 0.15s ease;\n}\n\n.clickable:hover {\n transform: translateY(-1px);\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}\n\n.isa-node.parent.clickable:hover {\n background: rgba(59, 130, 246, 0.2);\n border-color: rgba(59, 130, 246, 0.35);\n}\n\n.isa-child-chip.clickable:hover {\n background: rgba(16, 185, 129, 0.2);\n border-color: rgba(16, 185, 129, 0.35);\n}\n\n/* Field inherited badge (card and list views) */\n.badge.inherited,\n.flag-badge.inherited {\n background: rgba(99, 102, 241, 0.1);\n color: #6366f1;\n border: 1px solid rgba(99, 102, 241, 0.2);\n font-size: 10px;\n font-weight: 600;\n gap: 3px;\n}\n\n.flag-badge.inherited {\n display: inline-flex;\n align-items: center;\n gap: 3px;\n padding: 1px 6px;\n border-radius: 4px;\n font-size: 10px;\n}\n\n.flag-badge.inherited i {\n font-size: 9px;\n}\n\n/* IS-A source section in field detail panel */\n.isa-source-section {\n background: rgba(99, 102, 241, 0.04);\n border-radius: 6px;\n padding: 12px;\n margin: -4px -12px 8px;\n}\n\n.isa-source-section h5 {\n color: #6366f1;\n}\n\n.isa-source-section h5 i {\n margin-right: 4px;\n}\n\n/* IS-A settings panel */\n.isa-settings-panel {\n border-left: 3px solid #6366f1;\n}\n\n.isa-settings-panel .link {\n color: #3b82f6;\n cursor: pointer;\n transition: color 0.15s ease;\n}\n\n.isa-settings-panel .link:hover {\n color: #2563eb;\n text-decoration: underline;\n}\n\n.isa-settings-panel .muted {\n color: var(--text-muted, #94a3b8);\n}\n\n/* IS-A Field Inspector */\n.isa-field-inspector {\n margin-top: 12px;\n padding-top: 12px;\n border-top: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-field-inspector > .isa-chain-label {\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.isa-inspector-groups {\n display: flex;\n flex-direction: column;\n gap: 8px;\n margin-top: 8px;\n}\n\n.isa-inspector-group {\n border-radius: 6px;\n padding: 8px 12px;\n border: 1px solid var(--border-color, #e2e8f0);\n}\n\n.isa-inspector-group.own {\n background: rgba(59, 130, 246, 0.04);\n border-color: rgba(59, 130, 246, 0.15);\n}\n\n.isa-inspector-group.inherited {\n background: rgba(99, 102, 241, 0.04);\n border-color: rgba(99, 102, 241, 0.15);\n}\n\n.isa-inspector-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 6px;\n}\n\n.isa-inspector-entity {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 12px;\n font-weight: 600;\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-count {\n font-size: 11px;\n color: var(--text-muted, #94a3b8);\n font-weight: 500;\n}\n\n.isa-inspector-fields {\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n}\n\n.isa-inspector-field {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n padding: 2px 8px;\n border-radius: 4px;\n background: rgba(0, 0, 0, 0.04);\n color: var(--text-primary, #334155);\n}\n\n.isa-inspector-type {\n font-size: 10px;\n color: var(--text-muted, #94a3b8);\n font-family: 'SF Mono', 'Cascadia Code', 'Consolas', monospace;\n}\n\n/* Sibling chips */\n.isa-siblings {\n padding: 8px 0;\n}\n\n.isa-sibling-chip {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n padding: 5px 12px;\n border-radius: 6px;\n font-size: 13px;\n font-weight: 500;\n background: rgba(245, 158, 11, 0.1);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 0.2);\n}\n\n.isa-sibling-chip.clickable:hover {\n background: rgba(245, 158, 11, 0.2);\n border-color: rgba(245, 158, 11, 0.35);\n}\n\n/* Child count badge */\n.isa-child-count {\n font-size: 11px;\n background: rgba(0, 0, 0, 0.08);\n padding: 1px 6px;\n border-radius: 8px;\n margin-left: 2px;\n font-weight: 600;\n}\n\n.isa-child-count i {\n font-size: 10px;\n}\n", ".k-pane {\n background-color: #F5F6FA;\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: #F5F6FA;\n padding: 0;\n min-height: 100vh;\n}\n\n.record-form-group {\n margin-top: 0px;\n background-color: #F5F6FA;\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\n/* .record-form .record-form-row:nth-child(odd) {\n background-color: #f2f2f2; \n} */\n\n/* \n.record-form .record-form-row:nth-child(even) {\n background-color: #ffffff; \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 \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: #F5F6FA;\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: white;\n border-radius: 8px;\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);\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: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n cursor: pointer;\n user-select: none;\n transition: all 0.3s ease;\n}\n\n.collapsible-header:hover {\n background: linear-gradient(135deg, #f3f4f6 0%, #f9fafb 100%);\n border-bottom-color: #667eea;\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: #667eea;\n}\n\n.collapsible-title h3 {\n margin: 0;\n font-size: 18px;\n font-weight: 600;\n color: #1f2937;\n}\n\n.collapsible-header .collapse-icon {\n color: #6b7280;\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: linear-gradient(135deg, #f0f9ff 0%, #ffffff 100%);\n border-left: 3px solid #3b82f6;\n}\n\n.form-card.related-entity .collapsible-header {\n background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%);\n}\n\n.form-card.related-entity .collapsible-header:hover {\n background: linear-gradient(135deg, #bfdbfe 0%, #e0f2fe 100%);\n border-bottom-color: #3b82f6;\n}\n\n.form-card.related-entity .collapsible-title i {\n color: #3b82f6;\n}\n\n/* Section Controls */\n.form-section-controls {\n display: flex;\n gap: 10px;\n padding: 14px 18px;\n background: linear-gradient(135deg, #f9fafb 0%, #ffffff 100%);\n border-bottom: 2px solid #e5e7eb;\n align-items: center;\n flex-wrap: wrap;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\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 #d1d5db;\n background: white;\n color: #374151;\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: #667eea;\n color: white;\n border-color: #667eea;\n transform: translateY(-1px);\n box-shadow: 0 2px 4px rgba(102, 126, 234, 0.2);\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 #d1d5db;\n border-radius: 6px;\n width: 240px;\n transition: all 0.2s;\n background: white;\n}\n\n.form-section-controls .section-search:focus {\n outline: none;\n border-color: #667eea;\n box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n}\n\n.form-section-controls .section-search::placeholder {\n color: #9ca3af;\n font-style: italic;\n}\n\n.form-section-controls .section-count {\n font-size: 13px;\n color: #6b7280;\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: #667eea;\n color: white;\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: #fef08a;\n color: #854d0e;\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: #10b981;\n color: white;\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: #9ca3af;\n}\n"] }]
|
|
2533
3214
|
}], null, null); })();
|
|
2534
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityFormComponentExtended, { className: "EntityFormComponentExtended", filePath: "src/lib/custom/Entities/entity-form.component.ts", lineNumber:
|
|
2535
|
-
export function LoadEntityFormComponentExtended() {
|
|
2536
|
-
// Prevents tree-shaking
|
|
2537
|
-
}
|
|
3215
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(EntityFormComponentExtended, { className: "EntityFormComponentExtended", filePath: "src/lib/custom/Entities/entity-form.component.ts", lineNumber: 130 }); })();
|
|
2538
3216
|
//# sourceMappingURL=entity-form.component.js.map
|