@memberjunction/ng-core-entity-forms 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/custom/AIAgents/FlowAgentType/flow-agent-form-section.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +4 -4
- package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +18 -18
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +309 -309
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +9 -9
- package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +3 -3
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
- 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 +8 -8
- 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 +1 -1
- 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 +2 -2
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +2 -2
- package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +10 -10
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
- 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 +3 -3
- 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.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +3 -3
- 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 +1 -1
- 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 +8 -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 +225 -225
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +7 -7
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +259 -259
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +3 -3
- 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 +48 -48
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.d.ts +4 -4
- package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +164 -164
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +3 -3
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +299 -299
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts +3 -3
- package/dist/lib/custom/EntityActions/entityaction.form.component.d.ts.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +11 -11
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.d.ts +8 -8
- package/dist/lib/custom/Lists/list-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +163 -163
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.d.ts +3 -3
- package/dist/lib/custom/Queries/query-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +175 -184
- package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts +1 -0
- package/dist/lib/custom/Queries/query-run-dialog.component.d.ts.map +1 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js +3 -1
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.d.ts +3 -3
- package/dist/lib/custom/Templates/templates-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Templates/templates-form.component.js +53 -53
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +161 -161
- package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-rubric-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-rubric-form.component.js +12 -12
- 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 +3 -3
- 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 +14 -14
- 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 +3 -3
- package/dist/lib/custom/Tests/test-run-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +140 -140
- package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts +3 -3
- package/dist/lib/custom/Tests/test-suite-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Tests/test-suite-form.component.js +243 -243
- 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 +3 -3
- 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 +213 -213
- package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +6 -6
- 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 +148 -148
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +1 -1
- package/dist/lib/custom/custom-forms.module.js +85 -85
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js +3 -3
- package/dist/lib/generated/Entities/MJOpenApp/mjopenapp.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js +5 -5
- package/dist/lib/generated/Entities/MJRole/mjrole.form.component.js.map +1 -1
- package/package.json +30 -30
|
@@ -23,16 +23,16 @@ const _c1 = a0 => [a0];
|
|
|
23
23
|
const _c2 = () => [];
|
|
24
24
|
const _forTrack0 = ($index, $item) => $item.ID;
|
|
25
25
|
const _forTrack1 = ($index, $item) => $item.EntityName;
|
|
26
|
-
function
|
|
26
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
27
27
|
i0.ɵɵelementStart(0, "span", 8);
|
|
28
28
|
i0.ɵɵelement(1, "i", 41);
|
|
29
29
|
i0.ɵɵtext(2, " Virtual ");
|
|
30
30
|
i0.ɵɵelementEnd();
|
|
31
31
|
} }
|
|
32
|
-
function
|
|
32
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
33
33
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
34
34
|
i0.ɵɵelementStart(0, "span", 42);
|
|
35
|
-
i0.ɵɵlistener("click", function
|
|
35
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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
36
|
i0.ɵɵelement(1, "i", 43);
|
|
37
37
|
i0.ɵɵtext(2);
|
|
38
38
|
i0.ɵɵelementEnd();
|
|
@@ -41,18 +41,18 @@ function EntityFormComponentExtended_Conditional_0_Conditional_12_Template(rf, c
|
|
|
41
41
|
i0.ɵɵadvance(2);
|
|
42
42
|
i0.ɵɵtextInterpolate1(" IS-A ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
|
|
43
43
|
} }
|
|
44
|
-
function
|
|
44
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_13_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
45
45
|
i0.ɵɵelementStart(0, "span", 46);
|
|
46
46
|
i0.ɵɵelement(1, "i", 47);
|
|
47
47
|
i0.ɵɵtext(2, " Overlapping Subtypes ");
|
|
48
48
|
i0.ɵɵelementEnd();
|
|
49
49
|
} }
|
|
50
|
-
function
|
|
50
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
51
51
|
i0.ɵɵelementStart(0, "span", 44);
|
|
52
52
|
i0.ɵɵelement(1, "i", 45);
|
|
53
53
|
i0.ɵɵtext(2);
|
|
54
54
|
i0.ɵɵelementEnd();
|
|
55
|
-
i0.ɵɵconditionalCreate(3,
|
|
55
|
+
i0.ɵɵconditionalCreate(3, MJEntityFormComponentExtended_Conditional_0_Conditional_13_Conditional_3_Template, 3, 0, "span", 46);
|
|
56
56
|
} if (rf & 2) {
|
|
57
57
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
58
58
|
i0.ɵɵadvance(2);
|
|
@@ -60,7 +60,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_13_Template(rf, c
|
|
|
60
60
|
i0.ɵɵadvance();
|
|
61
61
|
i0.ɵɵconditional(ctx_r2.HasOverlappingSubtypes ? 3 : -1);
|
|
62
62
|
} }
|
|
63
|
-
function
|
|
63
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
64
64
|
i0.ɵɵelementStart(0, "div", 10);
|
|
65
65
|
i0.ɵɵelement(1, "i", 48);
|
|
66
66
|
i0.ɵɵtext(2);
|
|
@@ -70,7 +70,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_14_Template(rf, c
|
|
|
70
70
|
i0.ɵɵadvance(2);
|
|
71
71
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.IsaBreadcrumb, " ");
|
|
72
72
|
} }
|
|
73
|
-
function
|
|
73
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
74
74
|
i0.ɵɵelementStart(0, "span", 14);
|
|
75
75
|
i0.ɵɵtext(1);
|
|
76
76
|
i0.ɵɵpipe(2, "slice");
|
|
@@ -81,7 +81,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_20_Template(rf, c
|
|
|
81
81
|
i0.ɵɵadvance();
|
|
82
82
|
i0.ɵɵtextInterpolate2(" ", i0.ɵɵpipeBind3(2, 3, ctx_r2.entity.Description, 0, 80), "", ctx_r2.entity.Description.length > 80 ? "..." : "", " ");
|
|
83
83
|
} }
|
|
84
|
-
function
|
|
84
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_42_Template(rf, ctx) { if (rf & 1) {
|
|
85
85
|
i0.ɵɵelementStart(0, "span", 18);
|
|
86
86
|
i0.ɵɵtext(1);
|
|
87
87
|
i0.ɵɵelementEnd();
|
|
@@ -90,12 +90,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_42_Template(rf, c
|
|
|
90
90
|
i0.ɵɵadvance();
|
|
91
91
|
i0.ɵɵtextInterpolate(ctx_r2.formattedRowCount);
|
|
92
92
|
} }
|
|
93
|
-
function
|
|
93
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_43_Template(rf, ctx) { if (rf & 1) {
|
|
94
94
|
i0.ɵɵelementStart(0, "span", 24);
|
|
95
95
|
i0.ɵɵelement(1, "i", 49);
|
|
96
96
|
i0.ɵɵelementEnd();
|
|
97
97
|
} }
|
|
98
|
-
function
|
|
98
|
+
function MJEntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
99
99
|
i0.ɵɵelementStart(0, "span", 52);
|
|
100
100
|
i0.ɵɵtext(1);
|
|
101
101
|
i0.ɵɵelementEnd();
|
|
@@ -104,15 +104,15 @@ function EntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template
|
|
|
104
104
|
i0.ɵɵadvance();
|
|
105
105
|
i0.ɵɵtextInterpolate(item_r5.badge);
|
|
106
106
|
} }
|
|
107
|
-
function
|
|
107
|
+
function MJEntityFormComponentExtended_Conditional_0_For_49_Template(rf, ctx) { if (rf & 1) {
|
|
108
108
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
109
109
|
i0.ɵɵelementStart(0, "button", 50);
|
|
110
|
-
i0.ɵɵlistener("click", function
|
|
110
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
111
111
|
i0.ɵɵelement(1, "i");
|
|
112
112
|
i0.ɵɵelementStart(2, "span", 51);
|
|
113
113
|
i0.ɵɵtext(3);
|
|
114
114
|
i0.ɵɵelementEnd();
|
|
115
|
-
i0.ɵɵconditionalCreate(4,
|
|
115
|
+
i0.ɵɵconditionalCreate(4, MJEntityFormComponentExtended_Conditional_0_For_49_Conditional_4_Template, 2, 1, "span", 52);
|
|
116
116
|
i0.ɵɵelementEnd();
|
|
117
117
|
} if (rf & 2) {
|
|
118
118
|
const item_r5 = ctx.$implicit;
|
|
@@ -126,7 +126,7 @@ function EntityFormComponentExtended_Conditional_0_For_49_Template(rf, ctx) { if
|
|
|
126
126
|
i0.ɵɵadvance();
|
|
127
127
|
i0.ɵɵconditional(item_r5.badge ? 4 : -1);
|
|
128
128
|
} }
|
|
129
|
-
function
|
|
129
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
130
130
|
i0.ɵɵelementStart(0, "span");
|
|
131
131
|
i0.ɵɵtext(1);
|
|
132
132
|
i0.ɵɵelementEnd();
|
|
@@ -135,7 +135,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16
|
|
|
135
135
|
i0.ɵɵadvance();
|
|
136
136
|
i0.ɵɵtextInterpolate1("", ctx_r2.stats.encryptedFieldCount, " Encrypted");
|
|
137
137
|
} }
|
|
138
|
-
function
|
|
138
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
139
139
|
i0.ɵɵelementStart(0, "span");
|
|
140
140
|
i0.ɵɵtext(1);
|
|
141
141
|
i0.ɵɵpipe(2, "date");
|
|
@@ -145,12 +145,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56
|
|
|
145
145
|
i0.ɵɵadvance();
|
|
146
146
|
i0.ɵɵtextInterpolate1("Updated ", i0.ɵɵpipeBind2(2, 1, ctx_r2.entity.RowCountRunAt, "short"));
|
|
147
147
|
} }
|
|
148
|
-
function
|
|
148
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
149
149
|
i0.ɵɵelementStart(0, "span");
|
|
150
150
|
i0.ɵɵtext(1, "Row count");
|
|
151
151
|
i0.ɵɵelementEnd();
|
|
152
152
|
} }
|
|
153
|
-
function
|
|
153
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template(rf, ctx) { if (rf & 1) {
|
|
154
154
|
i0.ɵɵelementStart(0, "span", 72);
|
|
155
155
|
i0.ɵɵelement(1, "i", 84);
|
|
156
156
|
i0.ɵɵtext(2);
|
|
@@ -160,13 +160,13 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Templat
|
|
|
160
160
|
i0.ɵɵadvance(2);
|
|
161
161
|
i0.ɵɵtextInterpolate1(" ", cap_r7, " ");
|
|
162
162
|
} }
|
|
163
|
-
function
|
|
163
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template(rf, ctx) { if (rf & 1) {
|
|
164
164
|
i0.ɵɵelementStart(0, "span", 73);
|
|
165
165
|
i0.ɵɵelement(1, "i", 39);
|
|
166
166
|
i0.ɵɵtext(2, " No API ");
|
|
167
167
|
i0.ɵɵelementEnd();
|
|
168
168
|
} }
|
|
169
|
-
function
|
|
169
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
170
170
|
i0.ɵɵelementStart(0, "div", 85);
|
|
171
171
|
i0.ɵɵelement(1, "i", 41);
|
|
172
172
|
i0.ɵɵelementStart(2, "span");
|
|
@@ -179,11 +179,11 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
179
179
|
i0.ɵɵadvance(5);
|
|
180
180
|
i0.ɵɵtextInterpolate(ctx_r2.entity.BaseView);
|
|
181
181
|
} }
|
|
182
|
-
function
|
|
182
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template(rf, ctx) { if (rf & 1) {
|
|
183
183
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
184
184
|
i0.ɵɵelement(0, "i", 95);
|
|
185
185
|
i0.ɵɵelementStart(1, "span", 96);
|
|
186
|
-
i0.ɵɵlistener("click", function
|
|
186
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
187
187
|
i0.ɵɵtext(2);
|
|
188
188
|
i0.ɵɵelementEnd();
|
|
189
189
|
} if (rf & 2) {
|
|
@@ -193,13 +193,13 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
193
193
|
i0.ɵɵadvance();
|
|
194
194
|
i0.ɵɵtextInterpolate1(" ", parent_r9.Name, " ");
|
|
195
195
|
} }
|
|
196
|
-
function
|
|
196
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
197
197
|
i0.ɵɵelement(0, "i", 104);
|
|
198
198
|
} }
|
|
199
|
-
function
|
|
199
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
200
200
|
i0.ɵɵelement(0, "i", 105);
|
|
201
201
|
} }
|
|
202
|
-
function
|
|
202
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template(rf, ctx) { if (rf & 1) {
|
|
203
203
|
i0.ɵɵelementStart(0, "span", 108);
|
|
204
204
|
i0.ɵɵtext(1);
|
|
205
205
|
i0.ɵɵelementStart(2, "span", 109);
|
|
@@ -213,16 +213,16 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
213
213
|
i0.ɵɵadvance(2);
|
|
214
214
|
i0.ɵɵtextInterpolate(field_r11.Type);
|
|
215
215
|
} }
|
|
216
|
-
function
|
|
216
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
217
217
|
i0.ɵɵelementStart(0, "div", 101)(1, "div", 102)(2, "span", 103);
|
|
218
|
-
i0.ɵɵconditionalCreate(3,
|
|
218
|
+
i0.ɵɵconditionalCreate(3, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_3_Template, 1, 0, "i", 104)(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Conditional_4_Template, 1, 0, "i", 105);
|
|
219
219
|
i0.ɵɵtext(5);
|
|
220
220
|
i0.ɵɵelementEnd();
|
|
221
221
|
i0.ɵɵelementStart(6, "span", 106);
|
|
222
222
|
i0.ɵɵtext(7);
|
|
223
223
|
i0.ɵɵelementEnd()();
|
|
224
224
|
i0.ɵɵelementStart(8, "div", 107);
|
|
225
|
-
i0.ɵɵrepeaterCreate(9,
|
|
225
|
+
i0.ɵɵrepeaterCreate(9, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_For_10_Template, 4, 3, "span", 108, _forTrack0);
|
|
226
226
|
i0.ɵɵelementEnd()();
|
|
227
227
|
} if (rf & 2) {
|
|
228
228
|
const group_r12 = ctx.$implicit;
|
|
@@ -236,23 +236,23 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
236
236
|
i0.ɵɵadvance(2);
|
|
237
237
|
i0.ɵɵrepeater(group_r12.Fields);
|
|
238
238
|
} }
|
|
239
|
-
function
|
|
239
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
240
240
|
i0.ɵɵelementStart(0, "div", 99);
|
|
241
|
-
i0.ɵɵrepeaterCreate(1,
|
|
241
|
+
i0.ɵɵrepeaterCreate(1, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_For_2_Template, 11, 8, "div", 100, _forTrack1);
|
|
242
242
|
i0.ɵɵelementEnd();
|
|
243
243
|
} if (rf & 2) {
|
|
244
244
|
const ctx_r2 = i0.ɵɵnextContext(6);
|
|
245
245
|
i0.ɵɵadvance();
|
|
246
246
|
i0.ɵɵrepeater(ctx_r2.isaFieldGroups);
|
|
247
247
|
} }
|
|
248
|
-
function
|
|
248
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
249
249
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
250
250
|
i0.ɵɵelementStart(0, "div", 93)(1, "div", 97);
|
|
251
|
-
i0.ɵɵlistener("click", function
|
|
251
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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); });
|
|
252
252
|
i0.ɵɵelement(2, "i", 98);
|
|
253
253
|
i0.ɵɵtext(3, " Field Source Inspector ");
|
|
254
254
|
i0.ɵɵelementEnd();
|
|
255
|
-
i0.ɵɵconditionalCreate(4,
|
|
255
|
+
i0.ɵɵconditionalCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Conditional_4_Template, 3, 0, "div", 99);
|
|
256
256
|
i0.ɵɵelementEnd();
|
|
257
257
|
} if (rf & 2) {
|
|
258
258
|
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
@@ -261,10 +261,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
261
261
|
i0.ɵɵadvance(2);
|
|
262
262
|
i0.ɵɵconditional(ctx_r2.isaFieldInspectorExpanded ? 4 : -1);
|
|
263
263
|
} }
|
|
264
|
-
function
|
|
264
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
265
265
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
266
266
|
i0.ɵɵelementStart(0, "span", 112);
|
|
267
|
-
i0.ɵɵlistener("click", function
|
|
267
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
268
268
|
i0.ɵɵelement(1, "i", 113);
|
|
269
269
|
i0.ɵɵtext(2);
|
|
270
270
|
i0.ɵɵelementEnd();
|
|
@@ -274,12 +274,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
274
274
|
i0.ɵɵadvance(2);
|
|
275
275
|
i0.ɵɵtextInterpolate1(" ", sibling_r14.Name, " ");
|
|
276
276
|
} }
|
|
277
|
-
function
|
|
277
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
278
278
|
i0.ɵɵelementStart(0, "div", 94)(1, "div", 89);
|
|
279
279
|
i0.ɵɵtext(2);
|
|
280
280
|
i0.ɵɵelementEnd();
|
|
281
281
|
i0.ɵɵelementStart(3, "div", 110);
|
|
282
|
-
i0.ɵɵrepeaterCreate(4,
|
|
282
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_For_5_Template, 3, 2, "span", 111, _forTrack0);
|
|
283
283
|
i0.ɵɵelementEnd()();
|
|
284
284
|
} if (rf & 2) {
|
|
285
285
|
const ctx_r2 = i0.ɵɵnextContext(5);
|
|
@@ -288,22 +288,22 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
288
288
|
i0.ɵɵadvance(2);
|
|
289
289
|
i0.ɵɵrepeater(ctx_r2.SiblingEntities);
|
|
290
290
|
} }
|
|
291
|
-
function
|
|
291
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
292
292
|
i0.ɵɵelementStart(0, "div", 88)(1, "div", 89);
|
|
293
293
|
i0.ɵɵtext(2, "Inheritance Chain");
|
|
294
294
|
i0.ɵɵelementEnd();
|
|
295
295
|
i0.ɵɵelementStart(3, "div", 90)(4, "span", 91);
|
|
296
296
|
i0.ɵɵtext(5);
|
|
297
297
|
i0.ɵɵelementEnd();
|
|
298
|
-
i0.ɵɵrepeaterCreate(6,
|
|
298
|
+
i0.ɵɵrepeaterCreate(6, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_For_7_Template, 3, 2, null, null, _forTrack0);
|
|
299
299
|
i0.ɵɵelementEnd();
|
|
300
300
|
i0.ɵɵelementStart(8, "div", 92);
|
|
301
301
|
i0.ɵɵelement(9, "i", 57);
|
|
302
302
|
i0.ɵɵelementStart(10, "span");
|
|
303
303
|
i0.ɵɵtext(11);
|
|
304
304
|
i0.ɵɵelementEnd()()();
|
|
305
|
-
i0.ɵɵconditionalCreate(12,
|
|
306
|
-
i0.ɵɵconditionalCreate(13,
|
|
305
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_12_Template, 5, 2, "div", 93);
|
|
306
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Conditional_13_Template, 6, 2, "div", 94);
|
|
307
307
|
} if (rf & 2) {
|
|
308
308
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
309
309
|
i0.ɵɵadvance(5);
|
|
@@ -317,24 +317,24 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
317
317
|
i0.ɵɵadvance();
|
|
318
318
|
i0.ɵɵconditional(ctx_r2.SiblingEntities.length > 0 ? 13 : -1);
|
|
319
319
|
} }
|
|
320
|
-
function
|
|
320
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
321
321
|
i0.ɵɵelement(0, "i", 49);
|
|
322
322
|
} }
|
|
323
|
-
function
|
|
323
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
324
324
|
i0.ɵɵtext(0);
|
|
325
325
|
i0.ɵɵpipe(1, "number");
|
|
326
326
|
} if (rf & 2) {
|
|
327
327
|
const childCount_r16 = i0.ɵɵnextContext().$implicit;
|
|
328
328
|
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(1, 1, childCount_r16.RecordCount), " ");
|
|
329
329
|
} }
|
|
330
|
-
function
|
|
330
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
331
331
|
const _r15 = i0.ɵɵgetCurrentView();
|
|
332
332
|
i0.ɵɵelementStart(0, "span", 115);
|
|
333
|
-
i0.ɵɵlistener("click", function
|
|
333
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
334
334
|
i0.ɵɵelement(1, "i", 116);
|
|
335
335
|
i0.ɵɵtext(2);
|
|
336
336
|
i0.ɵɵelementStart(3, "span", 117);
|
|
337
|
-
i0.ɵɵconditionalCreate(4,
|
|
337
|
+
i0.ɵɵconditionalCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_4_Template, 1, 0, "i", 49)(5, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Conditional_5_Template, 2, 3);
|
|
338
338
|
i0.ɵɵelementEnd()();
|
|
339
339
|
} if (rf & 2) {
|
|
340
340
|
const childCount_r16 = ctx.$implicit;
|
|
@@ -344,26 +344,26 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
344
344
|
i0.ɵɵadvance(2);
|
|
345
345
|
i0.ɵɵconditional(childCount_r16.IsLoading ? 4 : 5);
|
|
346
346
|
} }
|
|
347
|
-
function
|
|
347
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
348
348
|
i0.ɵɵelementStart(0, "div", 86)(1, "div", 89);
|
|
349
349
|
i0.ɵɵtext(2, "Child Types");
|
|
350
350
|
i0.ɵɵelementEnd();
|
|
351
351
|
i0.ɵɵelementStart(3, "div", 110);
|
|
352
|
-
i0.ɵɵrepeaterCreate(4,
|
|
352
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_For_5_Template, 6, 3, "span", 114, _forTrack1);
|
|
353
353
|
i0.ɵɵelementEnd()();
|
|
354
354
|
} if (rf & 2) {
|
|
355
355
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
356
356
|
i0.ɵɵadvance(4);
|
|
357
357
|
i0.ɵɵrepeater(ctx_r2.childEntityCounts);
|
|
358
358
|
} }
|
|
359
|
-
function
|
|
359
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template(rf, ctx) { if (rf & 1) {
|
|
360
360
|
i0.ɵɵelementStart(0, "div", 74)(1, "h3", 69);
|
|
361
361
|
i0.ɵɵelement(2, "i", 48);
|
|
362
362
|
i0.ɵɵtext(3, " Type Hierarchy ");
|
|
363
363
|
i0.ɵɵelementEnd();
|
|
364
|
-
i0.ɵɵconditionalCreate(4,
|
|
365
|
-
i0.ɵɵconditionalCreate(5,
|
|
366
|
-
i0.ɵɵconditionalCreate(6,
|
|
364
|
+
i0.ɵɵconditionalCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_4_Template, 6, 1, "div", 85);
|
|
365
|
+
i0.ɵɵconditionalCreate(5, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_5_Template, 14, 6);
|
|
366
|
+
i0.ɵɵconditionalCreate(6, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Conditional_6_Template, 6, 0, "div", 86);
|
|
367
367
|
i0.ɵɵelementEnd();
|
|
368
368
|
} if (rf & 2) {
|
|
369
369
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -374,7 +374,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66
|
|
|
374
374
|
i0.ɵɵadvance();
|
|
375
375
|
i0.ɵɵconditional(ctx_r2.IsParentType ? 6 : -1);
|
|
376
376
|
} }
|
|
377
|
-
function
|
|
377
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template(rf, ctx) { if (rf & 1) {
|
|
378
378
|
i0.ɵɵelementStart(0, "div", 78)(1, "span", 79);
|
|
379
379
|
i0.ɵɵtext(2, "SP Create");
|
|
380
380
|
i0.ɵɵelementEnd();
|
|
@@ -386,7 +386,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92
|
|
|
386
386
|
i0.ɵɵadvance(4);
|
|
387
387
|
i0.ɵɵtextInterpolate(ctx_r2.entity.spCreate);
|
|
388
388
|
} }
|
|
389
|
-
function
|
|
389
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template(rf, ctx) { if (rf & 1) {
|
|
390
390
|
i0.ɵɵelementStart(0, "div", 78)(1, "span", 79);
|
|
391
391
|
i0.ɵɵtext(2, "SP Update");
|
|
392
392
|
i0.ɵɵelementEnd();
|
|
@@ -398,7 +398,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93
|
|
|
398
398
|
i0.ɵɵadvance(4);
|
|
399
399
|
i0.ɵɵtextInterpolate(ctx_r2.entity.spUpdate);
|
|
400
400
|
} }
|
|
401
|
-
function
|
|
401
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template(rf, ctx) { if (rf & 1) {
|
|
402
402
|
i0.ɵɵelementStart(0, "div", 78)(1, "span", 79);
|
|
403
403
|
i0.ɵɵtext(2, "SP Delete");
|
|
404
404
|
i0.ɵɵelementEnd();
|
|
@@ -410,7 +410,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94
|
|
|
410
410
|
i0.ɵɵadvance(4);
|
|
411
411
|
i0.ɵɵtextInterpolate(ctx_r2.entity.spDelete);
|
|
412
412
|
} }
|
|
413
|
-
function
|
|
413
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template(rf, ctx) { if (rf & 1) {
|
|
414
414
|
i0.ɵɵelementStart(0, "div", 78)(1, "span", 79);
|
|
415
415
|
i0.ɵɵtext(2, "Subclass");
|
|
416
416
|
i0.ɵɵelementEnd();
|
|
@@ -422,10 +422,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_11
|
|
|
422
422
|
i0.ɵɵadvance(4);
|
|
423
423
|
i0.ɵɵtextInterpolate(ctx_r2.entity.EntityObjectSubclassName);
|
|
424
424
|
} }
|
|
425
|
-
function
|
|
425
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, ctx) { if (rf & 1) {
|
|
426
426
|
const _r6 = i0.ɵɵgetCurrentView();
|
|
427
427
|
i0.ɵɵelementStart(0, "section", 29)(1, "div", 53)(2, "div", 54)(3, "div", 55);
|
|
428
|
-
i0.ɵɵlistener("click", function
|
|
428
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
429
429
|
i0.ɵɵelementStart(4, "div", 56);
|
|
430
430
|
i0.ɵɵelement(5, "i", 57);
|
|
431
431
|
i0.ɵɵelementStart(6, "span");
|
|
@@ -440,13 +440,13 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
440
440
|
i0.ɵɵelementStart(14, "span");
|
|
441
441
|
i0.ɵɵtext(15);
|
|
442
442
|
i0.ɵɵelementEnd();
|
|
443
|
-
i0.ɵɵconditionalCreate(16,
|
|
443
|
+
i0.ɵɵconditionalCreate(16, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_16_Template, 2, 1, "span");
|
|
444
444
|
i0.ɵɵelementEnd()();
|
|
445
445
|
i0.ɵɵelementStart(17, "div", 61);
|
|
446
446
|
i0.ɵɵelement(18, "i", 62);
|
|
447
447
|
i0.ɵɵelementEnd()();
|
|
448
448
|
i0.ɵɵelementStart(19, "div", 63);
|
|
449
|
-
i0.ɵɵlistener("click", function
|
|
449
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
450
450
|
i0.ɵɵelementStart(20, "div", 56);
|
|
451
451
|
i0.ɵɵelement(21, "i", 64);
|
|
452
452
|
i0.ɵɵelementStart(22, "span");
|
|
@@ -465,7 +465,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
465
465
|
i0.ɵɵelement(33, "i", 62);
|
|
466
466
|
i0.ɵɵelementEnd()();
|
|
467
467
|
i0.ɵɵelementStart(34, "div", 65);
|
|
468
|
-
i0.ɵɵlistener("click", function
|
|
468
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
469
469
|
i0.ɵɵelementStart(35, "div", 56);
|
|
470
470
|
i0.ɵɵelement(36, "i", 66);
|
|
471
471
|
i0.ɵɵelementStart(37, "span");
|
|
@@ -489,18 +489,18 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
489
489
|
i0.ɵɵtext(54);
|
|
490
490
|
i0.ɵɵelementEnd();
|
|
491
491
|
i0.ɵɵelementStart(55, "div", 60);
|
|
492
|
-
i0.ɵɵconditionalCreate(56,
|
|
493
|
-
i0.ɵɵconditionalCreate(57,
|
|
492
|
+
i0.ɵɵconditionalCreate(56, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_56_Template, 3, 4, "span");
|
|
493
|
+
i0.ɵɵconditionalCreate(57, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_57_Template, 2, 0, "span");
|
|
494
494
|
i0.ɵɵelementEnd()()()();
|
|
495
495
|
i0.ɵɵelementStart(58, "div", 68)(59, "h3", 69);
|
|
496
496
|
i0.ɵɵelement(60, "i", 70);
|
|
497
497
|
i0.ɵɵtext(61, " Capabilities ");
|
|
498
498
|
i0.ɵɵelementEnd();
|
|
499
499
|
i0.ɵɵelementStart(62, "div", 71);
|
|
500
|
-
i0.ɵɵrepeaterCreate(63,
|
|
501
|
-
i0.ɵɵconditionalCreate(65,
|
|
500
|
+
i0.ɵɵrepeaterCreate(63, MJEntityFormComponentExtended_Conditional_0_Conditional_51_For_64_Template, 3, 1, "span", 72, i0.ɵɵrepeaterTrackByIdentity);
|
|
501
|
+
i0.ɵɵconditionalCreate(65, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_65_Template, 3, 0, "span", 73);
|
|
502
502
|
i0.ɵɵelementEnd()();
|
|
503
|
-
i0.ɵɵconditionalCreate(66,
|
|
503
|
+
i0.ɵɵconditionalCreate(66, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_66_Template, 7, 3, "div", 74);
|
|
504
504
|
i0.ɵɵelementStart(67, "div", 75)(68, "h3", 69);
|
|
505
505
|
i0.ɵɵelement(69, "i", 76);
|
|
506
506
|
i0.ɵɵtext(70, " Database ");
|
|
@@ -529,9 +529,9 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
529
529
|
i0.ɵɵelementStart(90, "span", 80);
|
|
530
530
|
i0.ɵɵtext(91);
|
|
531
531
|
i0.ɵɵelementEnd()();
|
|
532
|
-
i0.ɵɵconditionalCreate(92,
|
|
533
|
-
i0.ɵɵconditionalCreate(93,
|
|
534
|
-
i0.ɵɵconditionalCreate(94,
|
|
532
|
+
i0.ɵɵconditionalCreate(92, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_92_Template, 5, 1, "div", 78);
|
|
533
|
+
i0.ɵɵconditionalCreate(93, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_93_Template, 5, 1, "div", 78);
|
|
534
|
+
i0.ɵɵconditionalCreate(94, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_94_Template, 5, 1, "div", 78);
|
|
535
535
|
i0.ɵɵelementEnd()();
|
|
536
536
|
i0.ɵɵelementStart(95, "div", 81)(96, "h3", 69);
|
|
537
537
|
i0.ɵɵelement(97, "i", 82);
|
|
@@ -549,7 +549,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
549
549
|
i0.ɵɵelementStart(108, "span", 83);
|
|
550
550
|
i0.ɵɵtext(109);
|
|
551
551
|
i0.ɵɵelementEnd()();
|
|
552
|
-
i0.ɵɵconditionalCreate(110,
|
|
552
|
+
i0.ɵɵconditionalCreate(110, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Conditional_110_Template, 5, 1, "div", 78);
|
|
553
553
|
i0.ɵɵelementEnd()()()();
|
|
554
554
|
} if (rf & 2) {
|
|
555
555
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -602,14 +602,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_51_Template(rf, c
|
|
|
602
602
|
i0.ɵɵadvance();
|
|
603
603
|
i0.ɵɵconditional(ctx_r2.entity.EntityObjectSubclassName ? 110 : -1);
|
|
604
604
|
} }
|
|
605
|
-
function
|
|
605
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
606
606
|
const _r18 = i0.ɵɵgetCurrentView();
|
|
607
607
|
i0.ɵɵelementStart(0, "div", 127)(1, "button", 131);
|
|
608
|
-
i0.ɵɵlistener("click", function
|
|
608
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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()); });
|
|
609
609
|
i0.ɵɵelement(2, "i", 132);
|
|
610
610
|
i0.ɵɵelementEnd();
|
|
611
611
|
i0.ɵɵelementStart(3, "button", 133);
|
|
612
|
-
i0.ɵɵlistener("click", function
|
|
612
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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()); });
|
|
613
613
|
i0.ɵɵelement(4, "i", 134);
|
|
614
614
|
i0.ɵɵelementEnd()();
|
|
615
615
|
} if (rf & 2) {
|
|
@@ -619,15 +619,15 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11
|
|
|
619
619
|
i0.ɵɵadvance(2);
|
|
620
620
|
i0.ɵɵproperty("disabled", ctx_r2.allFieldGroupsCollapsed);
|
|
621
621
|
} }
|
|
622
|
-
function
|
|
622
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
623
623
|
i0.ɵɵelementStart(0, "span", 150);
|
|
624
624
|
i0.ɵɵtext(1, "Required");
|
|
625
625
|
i0.ɵɵelementEnd();
|
|
626
626
|
} }
|
|
627
|
-
function
|
|
627
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
628
628
|
const _r23 = i0.ɵɵgetCurrentView();
|
|
629
629
|
i0.ɵɵelementStart(0, "span", 157);
|
|
630
|
-
i0.ɵɵlistener("click", function
|
|
630
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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()); });
|
|
631
631
|
i0.ɵɵelement(1, "i", 62);
|
|
632
632
|
i0.ɵɵtext(2);
|
|
633
633
|
i0.ɵɵelementEnd();
|
|
@@ -637,22 +637,22 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
637
637
|
i0.ɵɵadvance(2);
|
|
638
638
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.getRelatedEntityName(field_r22), " ");
|
|
639
639
|
} }
|
|
640
|
-
function
|
|
640
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
641
641
|
i0.ɵɵelementStart(0, "span", 153);
|
|
642
642
|
i0.ɵɵtext(1, "PK");
|
|
643
643
|
i0.ɵɵelementEnd();
|
|
644
644
|
} }
|
|
645
|
-
function
|
|
645
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
646
646
|
i0.ɵɵelementStart(0, "span", 154);
|
|
647
647
|
i0.ɵɵtext(1, "FK");
|
|
648
648
|
i0.ɵɵelementEnd();
|
|
649
649
|
} }
|
|
650
|
-
function
|
|
650
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
651
651
|
i0.ɵɵelementStart(0, "span", 155);
|
|
652
652
|
i0.ɵɵelement(1, "i", 66);
|
|
653
653
|
i0.ɵɵelementEnd();
|
|
654
654
|
} }
|
|
655
|
-
function
|
|
655
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
656
656
|
i0.ɵɵelementStart(0, "span", 156);
|
|
657
657
|
i0.ɵɵelement(1, "i", 43);
|
|
658
658
|
i0.ɵɵtext(2);
|
|
@@ -664,10 +664,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
664
664
|
i0.ɵɵadvance(2);
|
|
665
665
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r22), " ");
|
|
666
666
|
} }
|
|
667
|
-
function
|
|
667
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
668
668
|
const _r21 = i0.ɵɵgetCurrentView();
|
|
669
669
|
i0.ɵɵelementStart(0, "div", 144);
|
|
670
|
-
i0.ɵɵlistener("click", function
|
|
670
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
671
671
|
i0.ɵɵelementStart(1, "div", 145);
|
|
672
672
|
i0.ɵɵelement(2, "i");
|
|
673
673
|
i0.ɵɵelementEnd();
|
|
@@ -677,14 +677,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
677
677
|
i0.ɵɵelementStart(6, "div", 148)(7, "span", 149);
|
|
678
678
|
i0.ɵɵtext(8);
|
|
679
679
|
i0.ɵɵelementEnd();
|
|
680
|
-
i0.ɵɵconditionalCreate(9,
|
|
681
|
-
i0.ɵɵconditionalCreate(10,
|
|
680
|
+
i0.ɵɵconditionalCreate(9, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_9_Template, 2, 0, "span", 150);
|
|
681
|
+
i0.ɵɵconditionalCreate(10, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_10_Template, 3, 1, "span", 151);
|
|
682
682
|
i0.ɵɵelementEnd()();
|
|
683
683
|
i0.ɵɵelementStart(11, "div", 152);
|
|
684
|
-
i0.ɵɵconditionalCreate(12,
|
|
685
|
-
i0.ɵɵconditionalCreate(13,
|
|
686
|
-
i0.ɵɵconditionalCreate(14,
|
|
687
|
-
i0.ɵɵconditionalCreate(15,
|
|
684
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_12_Template, 2, 0, "span", 153);
|
|
685
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_13_Template, 2, 0, "span", 154);
|
|
686
|
+
i0.ɵɵconditionalCreate(14, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_14_Template, 2, 0, "span", 155);
|
|
687
|
+
i0.ɵɵconditionalCreate(15, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Conditional_15_Template, 3, 2, "span", 156);
|
|
688
688
|
i0.ɵɵelementEnd()();
|
|
689
689
|
} if (rf & 2) {
|
|
690
690
|
const field_r22 = ctx.$implicit;
|
|
@@ -709,19 +709,19 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
709
709
|
i0.ɵɵadvance();
|
|
710
710
|
i0.ɵɵconditional(ctx_r2.IsInheritedField(field_r22) ? 15 : -1);
|
|
711
711
|
} }
|
|
712
|
-
function
|
|
712
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
713
713
|
i0.ɵɵelementStart(0, "div", 142);
|
|
714
|
-
i0.ɵɵrepeaterCreate(1,
|
|
714
|
+
i0.ɵɵrepeaterCreate(1, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_For_2_Template, 16, 12, "div", 143, i0.ɵɵrepeaterTrackByIdentity);
|
|
715
715
|
i0.ɵɵelementEnd();
|
|
716
716
|
} if (rf & 2) {
|
|
717
717
|
const group_r20 = i0.ɵɵnextContext().$implicit;
|
|
718
718
|
i0.ɵɵadvance();
|
|
719
719
|
i0.ɵɵrepeater(group_r20.fields);
|
|
720
720
|
} }
|
|
721
|
-
function
|
|
721
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
722
722
|
const _r19 = i0.ɵɵgetCurrentView();
|
|
723
723
|
i0.ɵɵelementStart(0, "div", 136)(1, "div", 137);
|
|
724
|
-
i0.ɵɵlistener("click", function
|
|
724
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
725
725
|
i0.ɵɵelement(2, "i", 138)(3, "i", 139);
|
|
726
726
|
i0.ɵɵelementStart(4, "span", 140);
|
|
727
727
|
i0.ɵɵtext(5);
|
|
@@ -729,7 +729,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
729
729
|
i0.ɵɵelementStart(6, "span", 141);
|
|
730
730
|
i0.ɵɵtext(7);
|
|
731
731
|
i0.ɵɵelementEnd()();
|
|
732
|
-
i0.ɵɵconditionalCreate(8,
|
|
732
|
+
i0.ɵɵconditionalCreate(8, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Conditional_8_Template, 3, 0, "div", 142);
|
|
733
733
|
i0.ɵɵelementEnd();
|
|
734
734
|
} if (rf & 2) {
|
|
735
735
|
const group_r20 = ctx.$implicit;
|
|
@@ -746,16 +746,16 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13
|
|
|
746
746
|
i0.ɵɵadvance();
|
|
747
747
|
i0.ɵɵconditional(ctx_r2.isFieldGroupExpanded(group_r20.id) ? 8 : -1);
|
|
748
748
|
} }
|
|
749
|
-
function
|
|
749
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
750
750
|
i0.ɵɵelementStart(0, "div", 129);
|
|
751
|
-
i0.ɵɵrepeaterCreate(1,
|
|
751
|
+
i0.ɵɵrepeaterCreate(1, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_For_2_Template, 9, 8, "div", 135, i0.ɵɵrepeaterTrackByIdentity);
|
|
752
752
|
i0.ɵɵelementEnd();
|
|
753
753
|
} if (rf & 2) {
|
|
754
754
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
755
755
|
i0.ɵɵadvance();
|
|
756
756
|
i0.ɵɵrepeater(ctx_r2.getFilteredFieldGroups());
|
|
757
757
|
} }
|
|
758
|
-
function
|
|
758
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
759
759
|
i0.ɵɵelementStart(0, "span", 179);
|
|
760
760
|
i0.ɵɵtext(1);
|
|
761
761
|
i0.ɵɵelementEnd();
|
|
@@ -764,29 +764,29 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
764
764
|
i0.ɵɵadvance();
|
|
765
765
|
i0.ɵɵtextInterpolate(field_r26.Length);
|
|
766
766
|
} }
|
|
767
|
-
function
|
|
767
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
768
768
|
i0.ɵɵelementStart(0, "span", 180);
|
|
769
769
|
i0.ɵɵtext(1, "\u2014");
|
|
770
770
|
i0.ɵɵelementEnd();
|
|
771
771
|
} }
|
|
772
|
-
function
|
|
772
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
773
773
|
i0.ɵɵelementStart(0, "span", 184);
|
|
774
774
|
i0.ɵɵelement(1, "i", 190);
|
|
775
775
|
i0.ɵɵtext(2, " PK ");
|
|
776
776
|
i0.ɵɵelementEnd();
|
|
777
777
|
} }
|
|
778
|
-
function
|
|
778
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
779
779
|
i0.ɵɵelementStart(0, "span", 185);
|
|
780
780
|
i0.ɵɵelement(1, "i", 20);
|
|
781
781
|
i0.ɵɵtext(2, " FK ");
|
|
782
782
|
i0.ɵɵelementEnd();
|
|
783
783
|
} }
|
|
784
|
-
function
|
|
784
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
785
785
|
i0.ɵɵelementStart(0, "span", 186);
|
|
786
786
|
i0.ɵɵelement(1, "i", 66);
|
|
787
787
|
i0.ɵɵelementEnd();
|
|
788
788
|
} }
|
|
789
|
-
function
|
|
789
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
790
790
|
i0.ɵɵelementStart(0, "span", 187);
|
|
791
791
|
i0.ɵɵelement(1, "i", 43);
|
|
792
792
|
i0.ɵɵtext(2);
|
|
@@ -798,10 +798,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
798
798
|
i0.ɵɵadvance(2);
|
|
799
799
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(field_r26), " ");
|
|
800
800
|
} }
|
|
801
|
-
function
|
|
801
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template(rf, ctx) { if (rf & 1) {
|
|
802
802
|
const _r25 = i0.ɵɵgetCurrentView();
|
|
803
803
|
i0.ɵɵelementStart(0, "div", 170);
|
|
804
|
-
i0.ɵɵlistener("click", function
|
|
804
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
805
805
|
i0.ɵɵelementStart(1, "div", 171)(2, "span", 172);
|
|
806
806
|
i0.ɵɵtext(3);
|
|
807
807
|
i0.ɵɵelementEnd()();
|
|
@@ -814,18 +814,18 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
814
814
|
i0.ɵɵtext(10);
|
|
815
815
|
i0.ɵɵelementEnd()();
|
|
816
816
|
i0.ɵɵelementStart(11, "div", 178);
|
|
817
|
-
i0.ɵɵconditionalCreate(12,
|
|
818
|
-
i0.ɵɵconditionalCreate(13,
|
|
817
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_12_Template, 2, 1, "span", 179);
|
|
818
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_13_Template, 2, 0, "span", 180);
|
|
819
819
|
i0.ɵɵelementEnd();
|
|
820
820
|
i0.ɵɵelementStart(14, "div", 181)(15, "span", 182);
|
|
821
821
|
i0.ɵɵelement(16, "i");
|
|
822
822
|
i0.ɵɵtext(17);
|
|
823
823
|
i0.ɵɵelementEnd()();
|
|
824
824
|
i0.ɵɵelementStart(18, "div", 165)(19, "div", 183);
|
|
825
|
-
i0.ɵɵconditionalCreate(20,
|
|
826
|
-
i0.ɵɵconditionalCreate(21,
|
|
827
|
-
i0.ɵɵconditionalCreate(22,
|
|
828
|
-
i0.ɵɵconditionalCreate(23,
|
|
825
|
+
i0.ɵɵconditionalCreate(20, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_20_Template, 3, 0, "span", 184);
|
|
826
|
+
i0.ɵɵconditionalCreate(21, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_21_Template, 3, 0, "span", 185);
|
|
827
|
+
i0.ɵɵconditionalCreate(22, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_22_Template, 2, 0, "span", 186);
|
|
828
|
+
i0.ɵɵconditionalCreate(23, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Conditional_23_Template, 3, 2, "span", 187);
|
|
829
829
|
i0.ɵɵelementEnd()();
|
|
830
830
|
i0.ɵɵelementStart(24, "div", 188)(25, "span", 189);
|
|
831
831
|
i0.ɵɵtext(26);
|
|
@@ -865,37 +865,37 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
865
865
|
i0.ɵɵadvance();
|
|
866
866
|
i0.ɵɵtextInterpolate(field_r26.Description || "\u2014");
|
|
867
867
|
} }
|
|
868
|
-
function
|
|
868
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
869
869
|
i0.ɵɵelementStart(0, "div", 169);
|
|
870
870
|
i0.ɵɵelement(1, "i", 120);
|
|
871
871
|
i0.ɵɵelementStart(2, "span");
|
|
872
872
|
i0.ɵɵtext(3, "No fields match your search");
|
|
873
873
|
i0.ɵɵelementEnd()();
|
|
874
874
|
} }
|
|
875
|
-
function
|
|
875
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
876
876
|
const _r24 = i0.ɵɵgetCurrentView();
|
|
877
877
|
i0.ɵɵelementStart(0, "div", 130)(1, "div", 158)(2, "div", 159);
|
|
878
|
-
i0.ɵɵlistener("click", function
|
|
878
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
879
879
|
i0.ɵɵtext(3, " # ");
|
|
880
880
|
i0.ɵɵelement(4, "i", 160);
|
|
881
881
|
i0.ɵɵelementEnd();
|
|
882
882
|
i0.ɵɵelementStart(5, "div", 161);
|
|
883
|
-
i0.ɵɵlistener("click", function
|
|
883
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
884
884
|
i0.ɵɵtext(6, " Field Name ");
|
|
885
885
|
i0.ɵɵelement(7, "i", 160);
|
|
886
886
|
i0.ɵɵelementEnd();
|
|
887
887
|
i0.ɵɵelementStart(8, "div", 162);
|
|
888
|
-
i0.ɵɵlistener("click", function
|
|
888
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
889
889
|
i0.ɵɵtext(9, " Type ");
|
|
890
890
|
i0.ɵɵelement(10, "i", 160);
|
|
891
891
|
i0.ɵɵelementEnd();
|
|
892
892
|
i0.ɵɵelementStart(11, "div", 163);
|
|
893
|
-
i0.ɵɵlistener("click", function
|
|
893
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
894
894
|
i0.ɵɵtext(12, " Length ");
|
|
895
895
|
i0.ɵɵelement(13, "i", 160);
|
|
896
896
|
i0.ɵɵelementEnd();
|
|
897
897
|
i0.ɵɵelementStart(14, "div", 164);
|
|
898
|
-
i0.ɵɵlistener("click", function
|
|
898
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
899
899
|
i0.ɵɵtext(15, " Required ");
|
|
900
900
|
i0.ɵɵelement(16, "i", 160);
|
|
901
901
|
i0.ɵɵelementEnd();
|
|
@@ -903,14 +903,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
903
903
|
i0.ɵɵtext(18, "Flags");
|
|
904
904
|
i0.ɵɵelementEnd();
|
|
905
905
|
i0.ɵɵelementStart(19, "div", 166);
|
|
906
|
-
i0.ɵɵlistener("click", function
|
|
906
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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")); });
|
|
907
907
|
i0.ɵɵtext(20, " Description ");
|
|
908
908
|
i0.ɵɵelement(21, "i", 160);
|
|
909
909
|
i0.ɵɵelementEnd()();
|
|
910
910
|
i0.ɵɵelementStart(22, "div", 167);
|
|
911
|
-
i0.ɵɵrepeaterCreate(23,
|
|
911
|
+
i0.ɵɵrepeaterCreate(23, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_For_24_Template, 27, 22, "div", 168, i0.ɵɵrepeaterTrackByIdentity);
|
|
912
912
|
i0.ɵɵelementEnd();
|
|
913
|
-
i0.ɵɵconditionalCreate(25,
|
|
913
|
+
i0.ɵɵconditionalCreate(25, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Conditional_25_Template, 4, 0, "div", 169);
|
|
914
914
|
i0.ɵɵelementEnd();
|
|
915
915
|
} if (rf & 2) {
|
|
916
916
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -943,26 +943,26 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14
|
|
|
943
943
|
i0.ɵɵadvance(2);
|
|
944
944
|
i0.ɵɵconditional(ctx_r2.getFilteredFieldsList().length === 0 ? 25 : -1);
|
|
945
945
|
} }
|
|
946
|
-
function
|
|
946
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_52_Template(rf, ctx) { if (rf & 1) {
|
|
947
947
|
const _r17 = i0.ɵɵgetCurrentView();
|
|
948
948
|
i0.ɵɵelementStart(0, "section", 30)(1, "div", 118)(2, "div", 119);
|
|
949
949
|
i0.ɵɵelement(3, "i", 120);
|
|
950
950
|
i0.ɵɵelementStart(4, "input", 121);
|
|
951
|
-
i0.ɵɵlistener("ngModelChange", function
|
|
951
|
+
i0.ɵɵlistener("ngModelChange", function MJEntityFormComponentExtended_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)); });
|
|
952
952
|
i0.ɵɵelementEnd()();
|
|
953
953
|
i0.ɵɵelementStart(5, "div", 122)(6, "div", 123)(7, "button", 124);
|
|
954
|
-
i0.ɵɵlistener("click", function
|
|
954
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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"); });
|
|
955
955
|
i0.ɵɵelement(8, "i", 48);
|
|
956
956
|
i0.ɵɵelementEnd();
|
|
957
957
|
i0.ɵɵelementStart(9, "button", 125);
|
|
958
|
-
i0.ɵɵlistener("click", function
|
|
958
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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"); });
|
|
959
959
|
i0.ɵɵelement(10, "i", 126);
|
|
960
960
|
i0.ɵɵelementEnd()();
|
|
961
|
-
i0.ɵɵconditionalCreate(11,
|
|
961
|
+
i0.ɵɵconditionalCreate(11, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_11_Template, 5, 2, "div", 127);
|
|
962
962
|
i0.ɵɵelementEnd()();
|
|
963
963
|
i0.ɵɵelementStart(12, "div", 128);
|
|
964
|
-
i0.ɵɵconditionalCreate(13,
|
|
965
|
-
i0.ɵɵconditionalCreate(14,
|
|
964
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_13_Template, 3, 0, "div", 129);
|
|
965
|
+
i0.ɵɵconditionalCreate(14, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Conditional_14_Template, 26, 19, "div", 130);
|
|
966
966
|
i0.ɵɵelementEnd()();
|
|
967
967
|
} if (rf & 2) {
|
|
968
968
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -979,10 +979,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_52_Template(rf, c
|
|
|
979
979
|
i0.ɵɵadvance();
|
|
980
980
|
i0.ɵɵconditional(ctx_r2.fieldViewMode === "list" ? 14 : -1);
|
|
981
981
|
} }
|
|
982
|
-
function
|
|
982
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
983
983
|
const _r28 = i0.ɵɵgetCurrentView();
|
|
984
984
|
i0.ɵɵelementStart(0, "button", 199);
|
|
985
|
-
i0.ɵɵlistener("click", function
|
|
985
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
986
986
|
i0.ɵɵtext(1);
|
|
987
987
|
i0.ɵɵelementEnd();
|
|
988
988
|
} if (rf & 2) {
|
|
@@ -993,31 +993,31 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_
|
|
|
993
993
|
i0.ɵɵadvance();
|
|
994
994
|
i0.ɵɵtextInterpolate1(" ", d_r29, " ");
|
|
995
995
|
} }
|
|
996
|
-
function
|
|
996
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
997
997
|
i0.ɵɵelementStart(0, "div", 193)(1, "span", 196);
|
|
998
998
|
i0.ɵɵtext(2, "Depth:");
|
|
999
999
|
i0.ɵɵelementEnd();
|
|
1000
1000
|
i0.ɵɵelementStart(3, "div", 197);
|
|
1001
|
-
i0.ɵɵrepeaterCreate(4,
|
|
1001
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_For_5_Template, 2, 4, "button", 198, i0.ɵɵrepeaterTrackByIdentity);
|
|
1002
1002
|
i0.ɵɵelementEnd()();
|
|
1003
1003
|
} if (rf & 2) {
|
|
1004
1004
|
i0.ɵɵadvance(4);
|
|
1005
1005
|
i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c0));
|
|
1006
1006
|
} }
|
|
1007
|
-
function
|
|
1007
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
1008
1008
|
const _r30 = i0.ɵɵgetCurrentView();
|
|
1009
1009
|
i0.ɵɵelementStart(0, "div", 194)(1, "mj-erd-composite", 200);
|
|
1010
|
-
i0.ɵɵlistener("stateChange", function
|
|
1010
|
+
i0.ɵɵlistener("stateChange", function MJEntityFormComponentExtended_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 MJEntityFormComponentExtended_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)); });
|
|
1011
1011
|
i0.ɵɵelementEnd()();
|
|
1012
1012
|
} if (rf & 2) {
|
|
1013
1013
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1014
1014
|
i0.ɵɵadvance();
|
|
1015
1015
|
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);
|
|
1016
1016
|
} }
|
|
1017
|
-
function
|
|
1017
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
1018
1018
|
const _r31 = i0.ɵɵgetCurrentView();
|
|
1019
1019
|
i0.ɵɵelementStart(0, "span", 213);
|
|
1020
|
-
i0.ɵɵlistener("click", function
|
|
1020
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
1021
1021
|
i0.ɵɵelement(1, "i", 20);
|
|
1022
1022
|
i0.ɵɵtext(2);
|
|
1023
1023
|
i0.ɵɵelementEnd();
|
|
@@ -1027,7 +1027,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1027
1027
|
i0.ɵɵadvance(2);
|
|
1028
1028
|
i0.ɵɵtextInterpolate1(" ", field_r32.Name, " ");
|
|
1029
1029
|
} }
|
|
1030
|
-
function
|
|
1030
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
1031
1031
|
i0.ɵɵelementStart(0, "div", 205)(1, "div", 208)(2, "div", 209);
|
|
1032
1032
|
i0.ɵɵelement(3, "i", 62);
|
|
1033
1033
|
i0.ɵɵelementEnd();
|
|
@@ -1035,7 +1035,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1035
1035
|
i0.ɵɵtext(5);
|
|
1036
1036
|
i0.ɵɵelementEnd()();
|
|
1037
1037
|
i0.ɵɵelementStart(6, "div", 211);
|
|
1038
|
-
i0.ɵɵrepeaterCreate(7,
|
|
1038
|
+
i0.ɵɵrepeaterCreate(7, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_For_8_Template, 3, 2, "span", 212, i0.ɵɵrepeaterTrackByIdentity);
|
|
1039
1039
|
i0.ɵɵelementEnd()();
|
|
1040
1040
|
} if (rf & 2) {
|
|
1041
1041
|
const group_r33 = ctx.$implicit;
|
|
@@ -1044,19 +1044,19 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1044
1044
|
i0.ɵɵadvance(2);
|
|
1045
1045
|
i0.ɵɵrepeater(group_r33.fields);
|
|
1046
1046
|
} }
|
|
1047
|
-
function
|
|
1047
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1048
1048
|
i0.ɵɵelementStart(0, "div", 206)(1, "p");
|
|
1049
1049
|
i0.ɵɵtext(2, "No outgoing relationships");
|
|
1050
1050
|
i0.ɵɵelementEnd()();
|
|
1051
1051
|
} }
|
|
1052
|
-
function
|
|
1052
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
1053
1053
|
i0.ɵɵelement(0, "i", 217);
|
|
1054
1054
|
} }
|
|
1055
|
-
function
|
|
1055
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template(rf, ctx) { if (rf & 1) {
|
|
1056
1056
|
i0.ɵɵelementStart(0, "span", 216);
|
|
1057
1057
|
i0.ɵɵelement(1, "i", 20);
|
|
1058
1058
|
i0.ɵɵtext(2);
|
|
1059
|
-
i0.ɵɵconditionalCreate(3,
|
|
1059
|
+
i0.ɵɵconditionalCreate(3, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Conditional_3_Template, 1, 0, "i", 217);
|
|
1060
1060
|
i0.ɵɵelementEnd();
|
|
1061
1061
|
} if (rf & 2) {
|
|
1062
1062
|
const field_r34 = ctx.$implicit;
|
|
@@ -1066,7 +1066,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1066
1066
|
i0.ɵɵadvance();
|
|
1067
1067
|
i0.ɵɵconditional(field_r34.bundleInAPI ? 3 : -1);
|
|
1068
1068
|
} }
|
|
1069
|
-
function
|
|
1069
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template(rf, ctx) { if (rf & 1) {
|
|
1070
1070
|
i0.ɵɵelementStart(0, "div", 205)(1, "div", 208)(2, "div", 214);
|
|
1071
1071
|
i0.ɵɵelement(3, "i", 215);
|
|
1072
1072
|
i0.ɵɵelementEnd();
|
|
@@ -1074,7 +1074,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1074
1074
|
i0.ɵɵtext(5);
|
|
1075
1075
|
i0.ɵɵelementEnd()();
|
|
1076
1076
|
i0.ɵɵelementStart(6, "div", 211);
|
|
1077
|
-
i0.ɵɵrepeaterCreate(7,
|
|
1077
|
+
i0.ɵɵrepeaterCreate(7, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_For_8_Template, 4, 3, "span", 216, i0.ɵɵrepeaterTrackByIdentity);
|
|
1078
1078
|
i0.ɵɵelementEnd()();
|
|
1079
1079
|
} if (rf & 2) {
|
|
1080
1080
|
const group_r35 = ctx.$implicit;
|
|
@@ -1083,12 +1083,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1083
1083
|
i0.ɵɵadvance(2);
|
|
1084
1084
|
i0.ɵɵrepeater(group_r35.fields);
|
|
1085
1085
|
} }
|
|
1086
|
-
function
|
|
1086
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template(rf, ctx) { if (rf & 1) {
|
|
1087
1087
|
i0.ɵɵelementStart(0, "div", 206)(1, "p");
|
|
1088
1088
|
i0.ɵɵtext(2, "No incoming relationships");
|
|
1089
1089
|
i0.ɵɵelementEnd()();
|
|
1090
1090
|
} }
|
|
1091
|
-
function
|
|
1091
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
1092
1092
|
i0.ɵɵelementStart(0, "div", 195)(1, "div", 201)(2, "h3", 202);
|
|
1093
1093
|
i0.ɵɵelement(3, "i", 203);
|
|
1094
1094
|
i0.ɵɵtext(4, " Outgoing (References to other entities) ");
|
|
@@ -1096,8 +1096,8 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1096
1096
|
i0.ɵɵtext(6);
|
|
1097
1097
|
i0.ɵɵelementEnd()();
|
|
1098
1098
|
i0.ɵɵelementStart(7, "div", 204);
|
|
1099
|
-
i0.ɵɵrepeaterCreate(8,
|
|
1100
|
-
i0.ɵɵconditionalCreate(10,
|
|
1099
|
+
i0.ɵɵrepeaterCreate(8, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_9_Template, 9, 1, "div", 205, i0.ɵɵrepeaterTrackByIdentity);
|
|
1100
|
+
i0.ɵɵconditionalCreate(10, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_10_Template, 3, 0, "div", 206);
|
|
1101
1101
|
i0.ɵɵelementEnd()();
|
|
1102
1102
|
i0.ɵɵelementStart(11, "div", 201)(12, "h3", 202);
|
|
1103
1103
|
i0.ɵɵelement(13, "i", 207);
|
|
@@ -1106,8 +1106,8 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1106
1106
|
i0.ɵɵtext(16);
|
|
1107
1107
|
i0.ɵɵelementEnd()();
|
|
1108
1108
|
i0.ɵɵelementStart(17, "div", 204);
|
|
1109
|
-
i0.ɵɵrepeaterCreate(18,
|
|
1110
|
-
i0.ɵɵconditionalCreate(20,
|
|
1109
|
+
i0.ɵɵrepeaterCreate(18, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_For_19_Template, 9, 1, "div", 205, i0.ɵɵrepeaterTrackByIdentity);
|
|
1110
|
+
i0.ɵɵconditionalCreate(20, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Conditional_20_Template, 3, 0, "div", 206);
|
|
1111
1111
|
i0.ɵɵelementEnd()()();
|
|
1112
1112
|
} if (rf & 2) {
|
|
1113
1113
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -1124,23 +1124,23 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12
|
|
|
1124
1124
|
i0.ɵɵadvance(2);
|
|
1125
1125
|
i0.ɵɵconditional(ctx_r2.groupedIncomingRelationships.length === 0 ? 20 : -1);
|
|
1126
1126
|
} }
|
|
1127
|
-
function
|
|
1127
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_53_Template(rf, ctx) { if (rf & 1) {
|
|
1128
1128
|
const _r27 = i0.ɵɵgetCurrentView();
|
|
1129
1129
|
i0.ɵɵelementStart(0, "section", 31)(1, "div", 118)(2, "div", 191)(3, "button", 192);
|
|
1130
|
-
i0.ɵɵlistener("click", function
|
|
1130
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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"); });
|
|
1131
1131
|
i0.ɵɵelement(4, "i", 64);
|
|
1132
1132
|
i0.ɵɵtext(5, " Diagram ");
|
|
1133
1133
|
i0.ɵɵelementEnd();
|
|
1134
1134
|
i0.ɵɵelementStart(6, "button", 192);
|
|
1135
|
-
i0.ɵɵlistener("click", function
|
|
1135
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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"); });
|
|
1136
1136
|
i0.ɵɵelement(7, "i", 126);
|
|
1137
1137
|
i0.ɵɵtext(8, " List ");
|
|
1138
1138
|
i0.ɵɵelementEnd()();
|
|
1139
|
-
i0.ɵɵconditionalCreate(9,
|
|
1139
|
+
i0.ɵɵconditionalCreate(9, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_9_Template, 6, 1, "div", 193);
|
|
1140
1140
|
i0.ɵɵelementEnd();
|
|
1141
1141
|
i0.ɵɵelementStart(10, "div", 53);
|
|
1142
|
-
i0.ɵɵconditionalCreate(11,
|
|
1143
|
-
i0.ɵɵconditionalCreate(12,
|
|
1142
|
+
i0.ɵɵconditionalCreate(11, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_11_Template, 2, 7, "div", 194);
|
|
1143
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Conditional_12_Template, 21, 4, "div", 195);
|
|
1144
1144
|
i0.ɵɵelementEnd()();
|
|
1145
1145
|
} if (rf & 2) {
|
|
1146
1146
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -1155,32 +1155,32 @@ function EntityFormComponentExtended_Conditional_0_Conditional_53_Template(rf, c
|
|
|
1155
1155
|
i0.ɵɵadvance();
|
|
1156
1156
|
i0.ɵɵconditional(ctx_r2.relationshipViewMode === "list" ? 12 : -1);
|
|
1157
1157
|
} }
|
|
1158
|
-
function
|
|
1158
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
1159
1159
|
i0.ɵɵelementStart(0, "span", 228);
|
|
1160
1160
|
i0.ɵɵtext(1, "R");
|
|
1161
1161
|
i0.ɵɵelementEnd();
|
|
1162
1162
|
} }
|
|
1163
|
-
function
|
|
1163
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1164
1164
|
i0.ɵɵelementStart(0, "span", 229);
|
|
1165
1165
|
i0.ɵɵtext(1, "C");
|
|
1166
1166
|
i0.ɵɵelementEnd();
|
|
1167
1167
|
} }
|
|
1168
|
-
function
|
|
1168
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
1169
1169
|
i0.ɵɵelementStart(0, "span", 230);
|
|
1170
1170
|
i0.ɵɵtext(1, "U");
|
|
1171
1171
|
i0.ɵɵelementEnd();
|
|
1172
1172
|
} }
|
|
1173
|
-
function
|
|
1173
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1174
1174
|
i0.ɵɵelementStart(0, "span", 231);
|
|
1175
1175
|
i0.ɵɵtext(1, "D");
|
|
1176
1176
|
i0.ɵɵelementEnd();
|
|
1177
1177
|
} }
|
|
1178
|
-
function
|
|
1178
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1179
1179
|
i0.ɵɵelementStart(0, "span", 232);
|
|
1180
1180
|
i0.ɵɵtext(1, "None");
|
|
1181
1181
|
i0.ɵɵelementEnd();
|
|
1182
1182
|
} }
|
|
1183
|
-
function
|
|
1183
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template(rf, ctx) { if (rf & 1) {
|
|
1184
1184
|
i0.ɵɵelementStart(0, "tr")(1, "td", 225);
|
|
1185
1185
|
i0.ɵɵtext(2);
|
|
1186
1186
|
i0.ɵɵelementEnd();
|
|
@@ -1197,11 +1197,11 @@ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Templat
|
|
|
1197
1197
|
i0.ɵɵelement(10, "i", 226);
|
|
1198
1198
|
i0.ɵɵelementEnd();
|
|
1199
1199
|
i0.ɵɵelementStart(11, "td", 227);
|
|
1200
|
-
i0.ɵɵconditionalCreate(12,
|
|
1201
|
-
i0.ɵɵconditionalCreate(13,
|
|
1202
|
-
i0.ɵɵconditionalCreate(14,
|
|
1203
|
-
i0.ɵɵconditionalCreate(15,
|
|
1204
|
-
i0.ɵɵconditionalCreate(16,
|
|
1200
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_12_Template, 2, 0, "span", 228);
|
|
1201
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_13_Template, 2, 0, "span", 229);
|
|
1202
|
+
i0.ɵɵconditionalCreate(14, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_14_Template, 2, 0, "span", 230);
|
|
1203
|
+
i0.ɵɵconditionalCreate(15, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_15_Template, 2, 0, "span", 231);
|
|
1204
|
+
i0.ɵɵconditionalCreate(16, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Conditional_16_Template, 2, 0, "span", 232);
|
|
1205
1205
|
i0.ɵɵelementEnd()();
|
|
1206
1206
|
} if (rf & 2) {
|
|
1207
1207
|
const perm_r36 = ctx.$implicit;
|
|
@@ -1227,14 +1227,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Templat
|
|
|
1227
1227
|
i0.ɵɵadvance();
|
|
1228
1228
|
i0.ɵɵconditional(!perm_r36.ReadRLSFilterID && !perm_r36.CreateRLSFilterID && !perm_r36.UpdateRLSFilterID && !perm_r36.DeleteRLSFilterID ? 16 : -1);
|
|
1229
1229
|
} }
|
|
1230
|
-
function
|
|
1230
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
1231
1231
|
i0.ɵɵelementStart(0, "div", 206);
|
|
1232
1232
|
i0.ɵɵelement(1, "i", 21);
|
|
1233
1233
|
i0.ɵɵelementStart(2, "p");
|
|
1234
1234
|
i0.ɵɵtext(3, "No permissions configured");
|
|
1235
1235
|
i0.ɵɵelementEnd()();
|
|
1236
1236
|
} }
|
|
1237
|
-
function
|
|
1237
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_54_Template(rf, ctx) { if (rf & 1) {
|
|
1238
1238
|
i0.ɵɵelementStart(0, "section", 32)(1, "div", 53)(2, "div", 218)(3, "table", 219)(4, "thead")(5, "tr")(6, "th");
|
|
1239
1239
|
i0.ɵɵtext(7, "Role");
|
|
1240
1240
|
i0.ɵɵelementEnd();
|
|
@@ -1254,9 +1254,9 @@ function EntityFormComponentExtended_Conditional_0_Conditional_54_Template(rf, c
|
|
|
1254
1254
|
i0.ɵɵtext(17, "RLS");
|
|
1255
1255
|
i0.ɵɵelementEnd()()();
|
|
1256
1256
|
i0.ɵɵelementStart(18, "tbody");
|
|
1257
|
-
i0.ɵɵrepeaterCreate(19,
|
|
1257
|
+
i0.ɵɵrepeaterCreate(19, MJEntityFormComponentExtended_Conditional_0_Conditional_54_For_20_Template, 17, 10, "tr", null, i0.ɵɵrepeaterTrackByIdentity);
|
|
1258
1258
|
i0.ɵɵelementEnd()();
|
|
1259
|
-
i0.ɵɵconditionalCreate(21,
|
|
1259
|
+
i0.ɵɵconditionalCreate(21, MJEntityFormComponentExtended_Conditional_0_Conditional_54_Conditional_21_Template, 4, 0, "div", 206);
|
|
1260
1260
|
i0.ɵɵelementEnd();
|
|
1261
1261
|
i0.ɵɵelementStart(22, "div", 221)(23, "h3", 69);
|
|
1262
1262
|
i0.ɵɵelement(24, "i", 222);
|
|
@@ -1332,28 +1332,28 @@ function EntityFormComponentExtended_Conditional_0_Conditional_54_Template(rf, c
|
|
|
1332
1332
|
i0.ɵɵadvance();
|
|
1333
1333
|
i0.ɵɵproperty("ngClass", ctx_r2.entity.CustomResolverAPI ? "fa-check" : "fa-xmark");
|
|
1334
1334
|
} }
|
|
1335
|
-
function
|
|
1335
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
1336
1336
|
i0.ɵɵelementStart(0, "div", 236);
|
|
1337
1337
|
i0.ɵɵelement(1, "i", 222);
|
|
1338
1338
|
i0.ɵɵelementStart(2, "span");
|
|
1339
1339
|
i0.ɵɵtext(3, "API Create");
|
|
1340
1340
|
i0.ɵɵelementEnd()();
|
|
1341
1341
|
} }
|
|
1342
|
-
function
|
|
1342
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1343
1343
|
i0.ɵɵelementStart(0, "div", 236);
|
|
1344
1344
|
i0.ɵɵelement(1, "i", 243);
|
|
1345
1345
|
i0.ɵɵelementStart(2, "span");
|
|
1346
1346
|
i0.ɵɵtext(3, "Record Changes");
|
|
1347
1347
|
i0.ɵɵelementEnd()();
|
|
1348
1348
|
} }
|
|
1349
|
-
function
|
|
1349
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1350
1350
|
i0.ɵɵelementStart(0, "div", 236);
|
|
1351
1351
|
i0.ɵɵelement(1, "i", 41);
|
|
1352
1352
|
i0.ɵɵelementStart(2, "span");
|
|
1353
1353
|
i0.ɵɵtext(3, "Access Audit");
|
|
1354
1354
|
i0.ɵɵelementEnd()();
|
|
1355
1355
|
} }
|
|
1356
|
-
function
|
|
1356
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, ctx) { if (rf & 1) {
|
|
1357
1357
|
i0.ɵɵelementStart(0, "section", 33)(1, "div", 53)(2, "div", 233)(3, "div", 234)(4, "h4");
|
|
1358
1358
|
i0.ɵɵtext(5, "Data Sources");
|
|
1359
1359
|
i0.ɵɵelementEnd();
|
|
@@ -1362,7 +1362,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, c
|
|
|
1362
1362
|
i0.ɵɵelementStart(9, "span");
|
|
1363
1363
|
i0.ɵɵtext(10, "Manual Entry");
|
|
1364
1364
|
i0.ɵɵelementEnd()();
|
|
1365
|
-
i0.ɵɵconditionalCreate(11,
|
|
1365
|
+
i0.ɵɵconditionalCreate(11, MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_11_Template, 4, 0, "div", 236);
|
|
1366
1366
|
i0.ɵɵelementEnd()();
|
|
1367
1367
|
i0.ɵɵelementStart(12, "div", 238);
|
|
1368
1368
|
i0.ɵɵelement(13, "i", 62);
|
|
@@ -1379,8 +1379,8 @@ function EntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, c
|
|
|
1379
1379
|
i0.ɵɵtext(23, "Data Sinks");
|
|
1380
1380
|
i0.ɵɵelementEnd();
|
|
1381
1381
|
i0.ɵɵelementStart(24, "div", 235);
|
|
1382
|
-
i0.ɵɵconditionalCreate(25,
|
|
1383
|
-
i0.ɵɵconditionalCreate(26,
|
|
1382
|
+
i0.ɵɵconditionalCreate(25, MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_25_Template, 4, 0, "div", 236);
|
|
1383
|
+
i0.ɵɵconditionalCreate(26, MJEntityFormComponentExtended_Conditional_0_Conditional_55_Conditional_26_Template, 4, 0, "div", 236);
|
|
1384
1384
|
i0.ɵɵelementStart(27, "div", 236);
|
|
1385
1385
|
i0.ɵɵelement(28, "i", 20);
|
|
1386
1386
|
i0.ɵɵelementStart(29, "span");
|
|
@@ -1449,7 +1449,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_55_Template(rf, c
|
|
|
1449
1449
|
i0.ɵɵadvance();
|
|
1450
1450
|
i0.ɵɵproperty("ngClass", ctx_r2.entity.CascadeDeletes ? "fa-check" : "fa-xmark");
|
|
1451
1451
|
} }
|
|
1452
|
-
function
|
|
1452
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1453
1453
|
i0.ɵɵelementStart(0, "p");
|
|
1454
1454
|
i0.ɵɵtext(1, " This entity has change tracking enabled. All modifications to records are stored in the ");
|
|
1455
1455
|
i0.ɵɵelementStart(2, "code");
|
|
@@ -1458,7 +1458,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15
|
|
|
1458
1458
|
i0.ɵɵtext(4, " table, including the user who made the change, timestamp, and the before/after values. ");
|
|
1459
1459
|
i0.ɵɵelementEnd();
|
|
1460
1460
|
} }
|
|
1461
|
-
function
|
|
1461
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1462
1462
|
i0.ɵɵelementStart(0, "p");
|
|
1463
1463
|
i0.ɵɵtext(1, " This entity does not have change tracking enabled. To enable it, set ");
|
|
1464
1464
|
i0.ɵɵelementStart(2, "code");
|
|
@@ -1471,14 +1471,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16
|
|
|
1471
1471
|
i0.ɵɵtext(7, " in the entity metadata. ");
|
|
1472
1472
|
i0.ɵɵelementEnd();
|
|
1473
1473
|
} }
|
|
1474
|
-
function
|
|
1474
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1475
1475
|
i0.ɵɵelementStart(0, "li")(1, "code");
|
|
1476
1476
|
i0.ɵɵtext(2, "__mj_DeletedAt");
|
|
1477
1477
|
i0.ɵɵelementEnd();
|
|
1478
1478
|
i0.ɵɵtext(3, " - Soft delete timestamp (when applicable) ");
|
|
1479
1479
|
i0.ɵɵelementEnd();
|
|
1480
1480
|
} }
|
|
1481
|
-
function
|
|
1481
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
1482
1482
|
i0.ɵɵelementStart(0, "div", 252)(1, "h4");
|
|
1483
1483
|
i0.ɵɵelement(2, "i", 23);
|
|
1484
1484
|
i0.ɵɵtext(3, " Audit Fields ");
|
|
@@ -1493,14 +1493,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17
|
|
|
1493
1493
|
i0.ɵɵelementEnd();
|
|
1494
1494
|
i0.ɵɵtext(12, " - Last modification timestamp ");
|
|
1495
1495
|
i0.ɵɵelementEnd();
|
|
1496
|
-
i0.ɵɵconditionalCreate(13,
|
|
1496
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Conditional_13_Template, 4, 0, "li");
|
|
1497
1497
|
i0.ɵɵelementEnd()();
|
|
1498
1498
|
} if (rf & 2) {
|
|
1499
1499
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1500
1500
|
i0.ɵɵadvance(13);
|
|
1501
1501
|
i0.ɵɵconditional(ctx_r2.entity.DeleteType === "Soft" ? 13 : -1);
|
|
1502
1502
|
} }
|
|
1503
|
-
function
|
|
1503
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_56_Template(rf, ctx) { if (rf & 1) {
|
|
1504
1504
|
i0.ɵɵelementStart(0, "section", 34)(1, "div", 53)(2, "div", 248)(3, "div", 249);
|
|
1505
1505
|
i0.ɵɵelement(4, "i", 98);
|
|
1506
1506
|
i0.ɵɵelementStart(5, "div", 250)(6, "strong");
|
|
@@ -1513,10 +1513,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_56_Template(rf, c
|
|
|
1513
1513
|
i0.ɵɵelement(13, "i", 253);
|
|
1514
1514
|
i0.ɵɵtext(14, " About Change Tracking ");
|
|
1515
1515
|
i0.ɵɵelementEnd();
|
|
1516
|
-
i0.ɵɵconditionalCreate(15,
|
|
1517
|
-
i0.ɵɵconditionalCreate(16,
|
|
1516
|
+
i0.ɵɵconditionalCreate(15, MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_15_Template, 5, 0, "p");
|
|
1517
|
+
i0.ɵɵconditionalCreate(16, MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_16_Template, 8, 0, "p");
|
|
1518
1518
|
i0.ɵɵelementEnd();
|
|
1519
|
-
i0.ɵɵconditionalCreate(17,
|
|
1519
|
+
i0.ɵɵconditionalCreate(17, MJEntityFormComponentExtended_Conditional_0_Conditional_56_Conditional_17_Template, 14, 1, "div", 252);
|
|
1520
1520
|
i0.ɵɵelementEnd()()();
|
|
1521
1521
|
} if (rf & 2) {
|
|
1522
1522
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -1533,18 +1533,18 @@ function EntityFormComponentExtended_Conditional_0_Conditional_56_Template(rf, c
|
|
|
1533
1533
|
i0.ɵɵadvance();
|
|
1534
1534
|
i0.ɵɵconditional(ctx_r2.entity.TrackRecordChanges ? 17 : -1);
|
|
1535
1535
|
} }
|
|
1536
|
-
function
|
|
1536
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
1537
1537
|
i0.ɵɵelement(0, "i", 265);
|
|
1538
1538
|
i0.ɵɵtext(1, " Yes \u2014 read-only view ");
|
|
1539
1539
|
} }
|
|
1540
|
-
function
|
|
1540
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template(rf, ctx) { if (rf & 1) {
|
|
1541
1541
|
i0.ɵɵelement(0, "i", 266);
|
|
1542
1542
|
i0.ɵɵtext(1, " No ");
|
|
1543
1543
|
} }
|
|
1544
|
-
function
|
|
1544
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
1545
1545
|
const _r37 = i0.ɵɵgetCurrentView();
|
|
1546
1546
|
i0.ɵɵelementStart(0, "span", 267);
|
|
1547
|
-
i0.ɵɵlistener("click", function
|
|
1547
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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])); });
|
|
1548
1548
|
i0.ɵɵtext(1);
|
|
1549
1549
|
i0.ɵɵelement(2, "i", 62);
|
|
1550
1550
|
i0.ɵɵelementEnd();
|
|
@@ -1553,12 +1553,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1553
1553
|
i0.ɵɵadvance();
|
|
1554
1554
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.ParentChain[0] == null ? null : ctx_r2.ParentChain[0].Name, " ");
|
|
1555
1555
|
} }
|
|
1556
|
-
function
|
|
1556
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
1557
1557
|
i0.ɵɵelementStart(0, "span", 264);
|
|
1558
1558
|
i0.ɵɵtext(1, "None");
|
|
1559
1559
|
i0.ɵɵelementEnd();
|
|
1560
1560
|
} }
|
|
1561
|
-
function
|
|
1561
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
1562
1562
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1563
1563
|
i0.ɵɵtext(2, "Full Inheritance Chain");
|
|
1564
1564
|
i0.ɵɵelementEnd();
|
|
@@ -1578,10 +1578,10 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1578
1578
|
i0.ɵɵadvance(5);
|
|
1579
1579
|
i0.ɵɵtextInterpolate2("", ctx_r2.InheritedFieldCount, " field", ctx_r2.InheritedFieldCount !== 1 ? "s" : "");
|
|
1580
1580
|
} }
|
|
1581
|
-
function
|
|
1581
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
1582
1582
|
const _r38 = i0.ɵɵgetCurrentView();
|
|
1583
1583
|
i0.ɵɵelementStart(0, "span", 268);
|
|
1584
|
-
i0.ɵɵlistener("click", function
|
|
1584
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
1585
1585
|
i0.ɵɵtext(1);
|
|
1586
1586
|
i0.ɵɵelementEnd();
|
|
1587
1587
|
i0.ɵɵtext(2);
|
|
@@ -1594,22 +1594,22 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1594
1594
|
i0.ɵɵadvance();
|
|
1595
1595
|
i0.ɵɵtextInterpolate1("", ɵ$index_1234_r40 === ɵ$count_1234_r41 - 1 ? "" : ", ", " ");
|
|
1596
1596
|
} }
|
|
1597
|
-
function
|
|
1597
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
1598
1598
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1599
1599
|
i0.ɵɵtext(2, "Child Types");
|
|
1600
1600
|
i0.ɵɵelementEnd();
|
|
1601
1601
|
i0.ɵɵelementStart(3, "span", 247);
|
|
1602
|
-
i0.ɵɵrepeaterCreate(4,
|
|
1602
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_For_5_Template, 3, 2, null, null, _forTrack0);
|
|
1603
1603
|
i0.ɵɵelementEnd()();
|
|
1604
1604
|
} if (rf & 2) {
|
|
1605
1605
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1606
1606
|
i0.ɵɵadvance(4);
|
|
1607
1607
|
i0.ɵɵrepeater(ctx_r2.ChildEntities);
|
|
1608
1608
|
} }
|
|
1609
|
-
function
|
|
1609
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
1610
1610
|
const _r42 = i0.ɵɵgetCurrentView();
|
|
1611
1611
|
i0.ɵɵelementStart(0, "span", 268);
|
|
1612
|
-
i0.ɵɵlistener("click", function
|
|
1612
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
1613
1613
|
i0.ɵɵtext(1);
|
|
1614
1614
|
i0.ɵɵelementEnd();
|
|
1615
1615
|
i0.ɵɵtext(2);
|
|
@@ -1622,28 +1622,28 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1622
1622
|
i0.ɵɵadvance();
|
|
1623
1623
|
i0.ɵɵtextInterpolate1("", ɵ$index_1247_r44 === ɵ$count_1247_r45 - 1 ? "" : ", ", " ");
|
|
1624
1624
|
} }
|
|
1625
|
-
function
|
|
1625
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
1626
1626
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1627
1627
|
i0.ɵɵtext(2, "Sibling Types");
|
|
1628
1628
|
i0.ɵɵelementEnd();
|
|
1629
1629
|
i0.ɵɵelementStart(3, "span", 247);
|
|
1630
|
-
i0.ɵɵrepeaterCreate(4,
|
|
1630
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_For_5_Template, 3, 2, null, null, _forTrack0);
|
|
1631
1631
|
i0.ɵɵelementEnd()();
|
|
1632
1632
|
} if (rf & 2) {
|
|
1633
1633
|
const ctx_r2 = i0.ɵɵnextContext(4);
|
|
1634
1634
|
i0.ɵɵadvance(4);
|
|
1635
1635
|
i0.ɵɵrepeater(ctx_r2.SiblingEntities);
|
|
1636
1636
|
} }
|
|
1637
|
-
function
|
|
1637
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
1638
1638
|
i0.ɵɵelement(0, "i", 269);
|
|
1639
1639
|
i0.ɵɵtext(1, " Enforced \u2014 a parent record can only be one child type ");
|
|
1640
1640
|
} }
|
|
1641
|
-
function
|
|
1641
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1642
1642
|
i0.ɵɵelementStart(0, "span", 264);
|
|
1643
1643
|
i0.ɵɵtext(1, "N/A");
|
|
1644
1644
|
i0.ɵɵelementEnd();
|
|
1645
1645
|
} }
|
|
1646
|
-
function
|
|
1646
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
1647
1647
|
i0.ɵɵelementStart(0, "div", 255)(1, "h3", 69);
|
|
1648
1648
|
i0.ɵɵelement(2, "i", 48);
|
|
1649
1649
|
i0.ɵɵtext(3, " Type Relationship (IS-A) ");
|
|
@@ -1652,22 +1652,22 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1652
1652
|
i0.ɵɵtext(7, "Virtual Entity");
|
|
1653
1653
|
i0.ɵɵelementEnd();
|
|
1654
1654
|
i0.ɵɵelementStart(8, "span", 247);
|
|
1655
|
-
i0.ɵɵconditionalCreate(9,
|
|
1655
|
+
i0.ɵɵconditionalCreate(9, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_9_Template, 2, 0)(10, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_10_Template, 2, 0);
|
|
1656
1656
|
i0.ɵɵelementEnd()();
|
|
1657
1657
|
i0.ɵɵelementStart(11, "div", 262)(12, "span", 246);
|
|
1658
1658
|
i0.ɵɵtext(13, "Parent Entity");
|
|
1659
1659
|
i0.ɵɵelementEnd();
|
|
1660
1660
|
i0.ɵɵelementStart(14, "span", 247);
|
|
1661
|
-
i0.ɵɵconditionalCreate(15,
|
|
1661
|
+
i0.ɵɵconditionalCreate(15, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_15_Template, 3, 1, "span", 263)(16, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_16_Template, 2, 0, "span", 264);
|
|
1662
1662
|
i0.ɵɵelementEnd()();
|
|
1663
|
-
i0.ɵɵconditionalCreate(17,
|
|
1664
|
-
i0.ɵɵconditionalCreate(18,
|
|
1665
|
-
i0.ɵɵconditionalCreate(19,
|
|
1663
|
+
i0.ɵɵconditionalCreate(17, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_17_Template, 10, 3);
|
|
1664
|
+
i0.ɵɵconditionalCreate(18, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_18_Template, 6, 0, "div", 262);
|
|
1665
|
+
i0.ɵɵconditionalCreate(19, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_19_Template, 6, 0, "div", 262);
|
|
1666
1666
|
i0.ɵɵelementStart(20, "div", 262)(21, "span", 246);
|
|
1667
1667
|
i0.ɵɵtext(22, "Disjoint Subtypes");
|
|
1668
1668
|
i0.ɵɵelementEnd();
|
|
1669
1669
|
i0.ɵɵelementStart(23, "span", 247);
|
|
1670
|
-
i0.ɵɵconditionalCreate(24,
|
|
1670
|
+
i0.ɵɵconditionalCreate(24, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_24_Template, 2, 0)(25, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Conditional_25_Template, 2, 0, "span", 264);
|
|
1671
1671
|
i0.ɵɵelementEnd()()()();
|
|
1672
1672
|
} if (rf & 2) {
|
|
1673
1673
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -1684,7 +1684,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_
|
|
|
1684
1684
|
i0.ɵɵadvance(5);
|
|
1685
1685
|
i0.ɵɵconditional(ctx_r2.IsParentType || ctx_r2.IsChildType ? 24 : 25);
|
|
1686
1686
|
} }
|
|
1687
|
-
function
|
|
1687
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
1688
1688
|
i0.ɵɵelementStart(0, "div", 272);
|
|
1689
1689
|
i0.ɵɵelement(1, "mj-code-editor", 275);
|
|
1690
1690
|
i0.ɵɵelementEnd();
|
|
@@ -1694,7 +1694,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_
|
|
|
1694
1694
|
i0.ɵɵadvance();
|
|
1695
1695
|
i0.ɵɵproperty("value", ctx_r2.formatJsonValue(setting_r46.Value))("readonly", true)("lineWrapping", true);
|
|
1696
1696
|
} }
|
|
1697
|
-
function
|
|
1697
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
1698
1698
|
i0.ɵɵelementStart(0, "div", 273);
|
|
1699
1699
|
i0.ɵɵtext(1);
|
|
1700
1700
|
i0.ɵɵelementEnd();
|
|
@@ -1703,7 +1703,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_
|
|
|
1703
1703
|
i0.ɵɵadvance();
|
|
1704
1704
|
i0.ɵɵtextInterpolate(setting_r46.Value);
|
|
1705
1705
|
} }
|
|
1706
|
-
function
|
|
1706
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
1707
1707
|
i0.ɵɵelementStart(0, "div", 274);
|
|
1708
1708
|
i0.ɵɵtext(1);
|
|
1709
1709
|
i0.ɵɵelementEnd();
|
|
@@ -1712,12 +1712,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_
|
|
|
1712
1712
|
i0.ɵɵadvance();
|
|
1713
1713
|
i0.ɵɵtextInterpolate(setting_r46.Comments);
|
|
1714
1714
|
} }
|
|
1715
|
-
function
|
|
1715
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
1716
1716
|
i0.ɵɵelementStart(0, "div", 270)(1, "div", 271);
|
|
1717
1717
|
i0.ɵɵtext(2);
|
|
1718
1718
|
i0.ɵɵelementEnd();
|
|
1719
|
-
i0.ɵɵconditionalCreate(3,
|
|
1720
|
-
i0.ɵɵconditionalCreate(5,
|
|
1719
|
+
i0.ɵɵconditionalCreate(3, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_3_Template, 2, 3, "div", 272)(4, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_4_Template, 2, 1, "div", 273);
|
|
1720
|
+
i0.ɵɵconditionalCreate(5, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Conditional_5_Template, 2, 1, "div", 274);
|
|
1721
1721
|
i0.ɵɵelementEnd();
|
|
1722
1722
|
} if (rf & 2) {
|
|
1723
1723
|
const setting_r46 = ctx.$implicit;
|
|
@@ -1729,21 +1729,21 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_
|
|
|
1729
1729
|
i0.ɵɵadvance(2);
|
|
1730
1730
|
i0.ɵɵconditional(setting_r46.Comments ? 5 : -1);
|
|
1731
1731
|
} }
|
|
1732
|
-
function
|
|
1732
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
1733
1733
|
i0.ɵɵelementStart(0, "div", 258);
|
|
1734
|
-
i0.ɵɵrepeaterCreate(1,
|
|
1734
|
+
i0.ɵɵrepeaterCreate(1, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_For_2_Template, 6, 3, "div", 270, i0.ɵɵrepeaterTrackByIdentity);
|
|
1735
1735
|
i0.ɵɵelementEnd();
|
|
1736
1736
|
} if (rf & 2) {
|
|
1737
1737
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
1738
1738
|
i0.ɵɵadvance();
|
|
1739
1739
|
i0.ɵɵrepeater(ctx_r2.entity.Settings);
|
|
1740
1740
|
} }
|
|
1741
|
-
function
|
|
1741
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
1742
1742
|
i0.ɵɵelementStart(0, "div", 206)(1, "p");
|
|
1743
1743
|
i0.ɵɵtext(2, "No custom settings configured");
|
|
1744
1744
|
i0.ɵɵelementEnd()();
|
|
1745
1745
|
} }
|
|
1746
|
-
function
|
|
1746
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
1747
1747
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1748
1748
|
i0.ɵɵtext(2, "Catalog");
|
|
1749
1749
|
i0.ɵɵelementEnd();
|
|
@@ -1755,7 +1755,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13
|
|
|
1755
1755
|
i0.ɵɵadvance(4);
|
|
1756
1756
|
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextCatalog);
|
|
1757
1757
|
} }
|
|
1758
|
-
function
|
|
1758
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
1759
1759
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1760
1760
|
i0.ɵɵtext(2, "Index");
|
|
1761
1761
|
i0.ɵɵelementEnd();
|
|
@@ -1767,7 +1767,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13
|
|
|
1767
1767
|
i0.ɵɵadvance(4);
|
|
1768
1768
|
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextIndex);
|
|
1769
1769
|
} }
|
|
1770
|
-
function
|
|
1770
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
1771
1771
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1772
1772
|
i0.ɵɵtext(2, "Function");
|
|
1773
1773
|
i0.ɵɵelementEnd();
|
|
@@ -1779,7 +1779,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13
|
|
|
1779
1779
|
i0.ɵɵadvance(4);
|
|
1780
1780
|
i0.ɵɵtextInterpolate(ctx_r2.entity.FullTextSearchFunction);
|
|
1781
1781
|
} }
|
|
1782
|
-
function
|
|
1782
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
1783
1783
|
i0.ɵɵelementStart(0, "div", 260)(1, "div", 262)(2, "span", 246);
|
|
1784
1784
|
i0.ɵɵtext(3, "Status");
|
|
1785
1785
|
i0.ɵɵelementEnd();
|
|
@@ -1787,9 +1787,9 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13
|
|
|
1787
1787
|
i0.ɵɵelement(5, "i", 277);
|
|
1788
1788
|
i0.ɵɵtext(6, " Enabled ");
|
|
1789
1789
|
i0.ɵɵelementEnd()();
|
|
1790
|
-
i0.ɵɵconditionalCreate(7,
|
|
1791
|
-
i0.ɵɵconditionalCreate(8,
|
|
1792
|
-
i0.ɵɵconditionalCreate(9,
|
|
1790
|
+
i0.ɵɵconditionalCreate(7, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_7_Template, 5, 1, "div", 262);
|
|
1791
|
+
i0.ɵɵconditionalCreate(8, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_8_Template, 5, 1, "div", 262);
|
|
1792
|
+
i0.ɵɵconditionalCreate(9, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Conditional_9_Template, 5, 1, "div", 262);
|
|
1793
1793
|
i0.ɵɵelementEnd();
|
|
1794
1794
|
} if (rf & 2) {
|
|
1795
1795
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
@@ -1800,12 +1800,12 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13
|
|
|
1800
1800
|
i0.ɵɵadvance();
|
|
1801
1801
|
i0.ɵɵconditional(ctx_r2.entity.FullTextSearchFunction ? 9 : -1);
|
|
1802
1802
|
} }
|
|
1803
|
-
function
|
|
1803
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
1804
1804
|
i0.ɵɵelementStart(0, "div", 206)(1, "p");
|
|
1805
1805
|
i0.ɵɵtext(2, "Full-text search is not enabled for this entity");
|
|
1806
1806
|
i0.ɵɵelementEnd()();
|
|
1807
1807
|
} }
|
|
1808
|
-
function
|
|
1808
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1809
1809
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1810
1810
|
i0.ɵɵtext(2, "Sample Count");
|
|
1811
1811
|
i0.ɵɵelementEnd();
|
|
@@ -1817,7 +1817,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25
|
|
|
1817
1817
|
i0.ɵɵadvance(4);
|
|
1818
1818
|
i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleCount);
|
|
1819
1819
|
} }
|
|
1820
|
-
function
|
|
1820
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1821
1821
|
i0.ɵɵelementStart(0, "div", 262)(1, "span", 246);
|
|
1822
1822
|
i0.ɵɵtext(2, "Sample Method");
|
|
1823
1823
|
i0.ɵɵelementEnd();
|
|
@@ -1829,22 +1829,22 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26
|
|
|
1829
1829
|
i0.ɵɵadvance(4);
|
|
1830
1830
|
i0.ɵɵtextInterpolate(ctx_r2.entity.RowsToPackSampleMethod);
|
|
1831
1831
|
} }
|
|
1832
|
-
function
|
|
1832
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_57_Template(rf, ctx) { if (rf & 1) {
|
|
1833
1833
|
i0.ɵɵelementStart(0, "section", 35)(1, "div", 53);
|
|
1834
|
-
i0.ɵɵconditionalCreate(2,
|
|
1834
|
+
i0.ɵɵconditionalCreate(2, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_2_Template, 26, 6, "div", 255);
|
|
1835
1835
|
i0.ɵɵelementStart(3, "div", 256)(4, "h3", 69);
|
|
1836
1836
|
i0.ɵɵelement(5, "i", 257);
|
|
1837
1837
|
i0.ɵɵtext(6, " Entity Settings ");
|
|
1838
1838
|
i0.ɵɵelementEnd();
|
|
1839
|
-
i0.ɵɵconditionalCreate(7,
|
|
1840
|
-
i0.ɵɵconditionalCreate(8,
|
|
1839
|
+
i0.ɵɵconditionalCreate(7, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_7_Template, 3, 0, "div", 258);
|
|
1840
|
+
i0.ɵɵconditionalCreate(8, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_8_Template, 3, 0, "div", 206);
|
|
1841
1841
|
i0.ɵɵelementEnd();
|
|
1842
1842
|
i0.ɵɵelementStart(9, "div", 256)(10, "h3", 69);
|
|
1843
1843
|
i0.ɵɵelement(11, "i", 259);
|
|
1844
1844
|
i0.ɵɵtext(12, " Full-Text Search ");
|
|
1845
1845
|
i0.ɵɵelementEnd();
|
|
1846
|
-
i0.ɵɵconditionalCreate(13,
|
|
1847
|
-
i0.ɵɵconditionalCreate(14,
|
|
1846
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_13_Template, 10, 3, "div", 260);
|
|
1847
|
+
i0.ɵɵconditionalCreate(14, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_14_Template, 3, 0, "div", 206);
|
|
1848
1848
|
i0.ɵɵelementEnd();
|
|
1849
1849
|
i0.ɵɵelementStart(15, "div", 256)(16, "h3", 69);
|
|
1850
1850
|
i0.ɵɵelement(17, "i", 261);
|
|
@@ -1856,8 +1856,8 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Template(rf, c
|
|
|
1856
1856
|
i0.ɵɵelementStart(23, "span", 247);
|
|
1857
1857
|
i0.ɵɵtext(24);
|
|
1858
1858
|
i0.ɵɵelementEnd()();
|
|
1859
|
-
i0.ɵɵconditionalCreate(25,
|
|
1860
|
-
i0.ɵɵconditionalCreate(26,
|
|
1859
|
+
i0.ɵɵconditionalCreate(25, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_25_Template, 5, 1, "div", 262);
|
|
1860
|
+
i0.ɵɵconditionalCreate(26, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Conditional_26_Template, 5, 1, "div", 262);
|
|
1861
1861
|
i0.ɵɵelementEnd()()()();
|
|
1862
1862
|
} if (rf & 2) {
|
|
1863
1863
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -1878,17 +1878,17 @@ function EntityFormComponentExtended_Conditional_0_Conditional_57_Template(rf, c
|
|
|
1878
1878
|
i0.ɵɵadvance();
|
|
1879
1879
|
i0.ɵɵconditional(ctx_r2.entity.RowsToPackSampleMethod ? 26 : -1);
|
|
1880
1880
|
} }
|
|
1881
|
-
function
|
|
1881
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_60_Template(rf, ctx) { if (rf & 1) {
|
|
1882
1882
|
i0.ɵɵelementStart(0, "h3");
|
|
1883
1883
|
i0.ɵɵtext(1, "Field Details");
|
|
1884
1884
|
i0.ɵɵelementEnd();
|
|
1885
1885
|
} }
|
|
1886
|
-
function
|
|
1886
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_61_Template(rf, ctx) { if (rf & 1) {
|
|
1887
1887
|
i0.ɵɵelementStart(0, "h3");
|
|
1888
1888
|
i0.ɵɵtext(1, "Relationship Details");
|
|
1889
1889
|
i0.ɵɵelementEnd();
|
|
1890
1890
|
} }
|
|
1891
|
-
function
|
|
1891
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
1892
1892
|
i0.ɵɵelementStart(0, "p", 280);
|
|
1893
1893
|
i0.ɵɵtext(1);
|
|
1894
1894
|
i0.ɵɵelementEnd();
|
|
@@ -1897,7 +1897,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_
|
|
|
1897
1897
|
i0.ɵɵadvance();
|
|
1898
1898
|
i0.ɵɵtextInterpolate(ctx_r2.selectedField.Description);
|
|
1899
1899
|
} }
|
|
1900
|
-
function
|
|
1900
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
1901
1901
|
i0.ɵɵelementStart(0, "div", 282)(1, "span", 283);
|
|
1902
1902
|
i0.ɵɵtext(2, "Default");
|
|
1903
1903
|
i0.ɵɵelementEnd();
|
|
@@ -1909,7 +1909,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24
|
|
|
1909
1909
|
i0.ɵɵadvance(4);
|
|
1910
1910
|
i0.ɵɵtextInterpolate(ctx_r2.selectedField.DefaultValue);
|
|
1911
1911
|
} }
|
|
1912
|
-
function
|
|
1912
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
1913
1913
|
const _r47 = i0.ɵɵgetCurrentView();
|
|
1914
1914
|
i0.ɵɵelementStart(0, "div", 286)(1, "h5");
|
|
1915
1915
|
i0.ɵɵelement(2, "i", 43);
|
|
@@ -1919,7 +1919,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25
|
|
|
1919
1919
|
i0.ɵɵtext(7, "Source Entity");
|
|
1920
1920
|
i0.ɵɵelementEnd();
|
|
1921
1921
|
i0.ɵɵelementStart(8, "span", 287);
|
|
1922
|
-
i0.ɵɵlistener("click", function
|
|
1922
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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])); });
|
|
1923
1923
|
i0.ɵɵtext(9);
|
|
1924
1924
|
i0.ɵɵelement(10, "i", 62);
|
|
1925
1925
|
i0.ɵɵelementEnd()();
|
|
@@ -1934,7 +1934,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25
|
|
|
1934
1934
|
i0.ɵɵadvance(9);
|
|
1935
1935
|
i0.ɵɵtextInterpolate1(" ", ctx_r2.GetISAFieldSource(ctx_r2.selectedField), " ");
|
|
1936
1936
|
} }
|
|
1937
|
-
function
|
|
1937
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
1938
1938
|
const _r48 = i0.ɵɵgetCurrentView();
|
|
1939
1939
|
i0.ɵɵelementStart(0, "div", 279)(1, "h5");
|
|
1940
1940
|
i0.ɵɵtext(2, "Relationship");
|
|
@@ -1943,7 +1943,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26
|
|
|
1943
1943
|
i0.ɵɵtext(6, "Related Entity");
|
|
1944
1944
|
i0.ɵɵelementEnd();
|
|
1945
1945
|
i0.ɵɵelementStart(7, "span", 288);
|
|
1946
|
-
i0.ɵɵlistener("click", function
|
|
1946
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_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)); });
|
|
1947
1947
|
i0.ɵɵtext(8);
|
|
1948
1948
|
i0.ɵɵelement(9, "i", 62);
|
|
1949
1949
|
i0.ɵɵelementEnd()();
|
|
@@ -1960,7 +1960,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26
|
|
|
1960
1960
|
i0.ɵɵadvance(6);
|
|
1961
1961
|
i0.ɵɵtextInterpolate(ctx_r2.selectedField.RelatedEntityDisplayType);
|
|
1962
1962
|
} }
|
|
1963
|
-
function
|
|
1963
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template(rf, ctx) { if (rf & 1) {
|
|
1964
1964
|
i0.ɵɵelementStart(0, "div", 279)(1, "h5");
|
|
1965
1965
|
i0.ɵɵtext(2, "Encryption");
|
|
1966
1966
|
i0.ɵɵelementEnd();
|
|
@@ -1981,7 +1981,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27
|
|
|
1981
1981
|
i0.ɵɵadvance(13);
|
|
1982
1982
|
i0.ɵɵtextInterpolate(ctx_r2.selectedField.AllowDecryptInAPI ? "Yes" : "No");
|
|
1983
1983
|
} }
|
|
1984
|
-
function
|
|
1984
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template(rf, ctx) { if (rf & 1) {
|
|
1985
1985
|
i0.ɵɵelementStart(0, "div", 282)(1, "span", 283);
|
|
1986
1986
|
i0.ɵɵtext(2, "Category");
|
|
1987
1987
|
i0.ɵɵelementEnd();
|
|
@@ -1993,7 +1993,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61
|
|
|
1993
1993
|
i0.ɵɵadvance(4);
|
|
1994
1994
|
i0.ɵɵtextInterpolate(ctx_r2.selectedField.Category);
|
|
1995
1995
|
} }
|
|
1996
|
-
function
|
|
1996
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
1997
1997
|
i0.ɵɵelementStart(0, "span", 291);
|
|
1998
1998
|
i0.ɵɵtext(1);
|
|
1999
1999
|
i0.ɵɵelementEnd();
|
|
@@ -2002,9 +2002,9 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67
|
|
|
2002
2002
|
i0.ɵɵadvance();
|
|
2003
2003
|
i0.ɵɵtextInterpolate(val_r49.Code);
|
|
2004
2004
|
} }
|
|
2005
|
-
function
|
|
2005
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
2006
2006
|
i0.ɵɵelementStart(0, "div", 290);
|
|
2007
|
-
i0.ɵɵconditionalCreate(1,
|
|
2007
|
+
i0.ɵɵconditionalCreate(1, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Conditional_1_Template, 2, 1, "span", 291);
|
|
2008
2008
|
i0.ɵɵelementStart(2, "span", 292);
|
|
2009
2009
|
i0.ɵɵtext(3);
|
|
2010
2010
|
i0.ɵɵelementEnd()();
|
|
@@ -2015,23 +2015,23 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67
|
|
|
2015
2015
|
i0.ɵɵadvance(2);
|
|
2016
2016
|
i0.ɵɵtextInterpolate(val_r49.Value);
|
|
2017
2017
|
} }
|
|
2018
|
-
function
|
|
2018
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template(rf, ctx) { if (rf & 1) {
|
|
2019
2019
|
i0.ɵɵelementStart(0, "div", 279)(1, "h5");
|
|
2020
2020
|
i0.ɵɵtext(2, "Allowed Values");
|
|
2021
2021
|
i0.ɵɵelementEnd();
|
|
2022
2022
|
i0.ɵɵelementStart(3, "div", 289);
|
|
2023
|
-
i0.ɵɵrepeaterCreate(4,
|
|
2023
|
+
i0.ɵɵrepeaterCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_For_5_Template, 4, 2, "div", 290, i0.ɵɵrepeaterTrackByIdentity);
|
|
2024
2024
|
i0.ɵɵelementEnd()();
|
|
2025
2025
|
} if (rf & 2) {
|
|
2026
2026
|
const ctx_r2 = i0.ɵɵnextContext(3);
|
|
2027
2027
|
i0.ɵɵadvance(4);
|
|
2028
2028
|
i0.ɵɵrepeater(ctx_r2.selectedField.EntityFieldValues);
|
|
2029
2029
|
} }
|
|
2030
|
-
function
|
|
2030
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, ctx) { if (rf & 1) {
|
|
2031
2031
|
i0.ɵɵelementStart(0, "div", 40)(1, "div", 279)(2, "h4");
|
|
2032
2032
|
i0.ɵɵtext(3);
|
|
2033
2033
|
i0.ɵɵelementEnd();
|
|
2034
|
-
i0.ɵɵconditionalCreate(4,
|
|
2034
|
+
i0.ɵɵconditionalCreate(4, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_4_Template, 2, 1, "p", 280);
|
|
2035
2035
|
i0.ɵɵelementEnd();
|
|
2036
2036
|
i0.ɵɵelementStart(5, "div", 279)(6, "h5");
|
|
2037
2037
|
i0.ɵɵtext(7, "Type Information");
|
|
@@ -2054,11 +2054,11 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, c
|
|
|
2054
2054
|
i0.ɵɵelementStart(22, "span", 285);
|
|
2055
2055
|
i0.ɵɵtext(23);
|
|
2056
2056
|
i0.ɵɵelementEnd()();
|
|
2057
|
-
i0.ɵɵconditionalCreate(24,
|
|
2057
|
+
i0.ɵɵconditionalCreate(24, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_24_Template, 5, 1, "div", 282);
|
|
2058
2058
|
i0.ɵɵelementEnd()();
|
|
2059
|
-
i0.ɵɵconditionalCreate(25,
|
|
2060
|
-
i0.ɵɵconditionalCreate(26,
|
|
2061
|
-
i0.ɵɵconditionalCreate(27,
|
|
2059
|
+
i0.ɵɵconditionalCreate(25, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_25_Template, 16, 1, "div", 286);
|
|
2060
|
+
i0.ɵɵconditionalCreate(26, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_26_Template, 15, 2, "div", 279);
|
|
2061
|
+
i0.ɵɵconditionalCreate(27, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_27_Template, 14, 1, "div", 279);
|
|
2062
2062
|
i0.ɵɵelementStart(28, "div", 279)(29, "h5");
|
|
2063
2063
|
i0.ɵɵtext(30, "API Settings");
|
|
2064
2064
|
i0.ɵɵelementEnd();
|
|
@@ -2095,14 +2095,14 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, c
|
|
|
2095
2095
|
i0.ɵɵelementStart(59, "span", 285);
|
|
2096
2096
|
i0.ɵɵtext(60);
|
|
2097
2097
|
i0.ɵɵelementEnd()();
|
|
2098
|
-
i0.ɵɵconditionalCreate(61,
|
|
2098
|
+
i0.ɵɵconditionalCreate(61, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_61_Template, 5, 1, "div", 282);
|
|
2099
2099
|
i0.ɵɵelementStart(62, "div", 282)(63, "span", 283);
|
|
2100
2100
|
i0.ɵɵtext(64, "Sequence");
|
|
2101
2101
|
i0.ɵɵelementEnd();
|
|
2102
2102
|
i0.ɵɵelementStart(65, "span", 285);
|
|
2103
2103
|
i0.ɵɵtext(66);
|
|
2104
2104
|
i0.ɵɵelementEnd()()()();
|
|
2105
|
-
i0.ɵɵconditionalCreate(67,
|
|
2105
|
+
i0.ɵɵconditionalCreate(67, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Conditional_67_Template, 6, 0, "div", 279);
|
|
2106
2106
|
i0.ɵɵelementEnd();
|
|
2107
2107
|
} if (rf & 2) {
|
|
2108
2108
|
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
@@ -2141,7 +2141,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_64_Template(rf, c
|
|
|
2141
2141
|
i0.ɵɵadvance();
|
|
2142
2142
|
i0.ɵɵconditional(ctx_r2.selectedField.EntityFieldValues.length > 0 ? 67 : -1);
|
|
2143
2143
|
} }
|
|
2144
|
-
function
|
|
2144
|
+
function MJEntityFormComponentExtended_Conditional_0_Conditional_65_Template(rf, ctx) { if (rf & 1) {
|
|
2145
2145
|
i0.ɵɵelementStart(0, "div", 40)(1, "div", 279)(2, "h4");
|
|
2146
2146
|
i0.ɵɵtext(3);
|
|
2147
2147
|
i0.ɵɵelementEnd()();
|
|
@@ -2204,7 +2204,7 @@ function EntityFormComponentExtended_Conditional_0_Conditional_65_Template(rf, c
|
|
|
2204
2204
|
i0.ɵɵadvance(5);
|
|
2205
2205
|
i0.ɵɵtextInterpolate(ctx_r2.selectedRelationship.BundleInAPI ? "Yes" : "No");
|
|
2206
2206
|
} }
|
|
2207
|
-
function
|
|
2207
|
+
function MJEntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
2208
2208
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
2209
2209
|
i0.ɵɵelementStart(0, "div", 0)(1, "header", 1)(2, "div", 2)(3, "div", 3);
|
|
2210
2210
|
i0.ɵɵelement(4, "i");
|
|
@@ -2215,21 +2215,21 @@ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
2215
2215
|
i0.ɵɵelementStart(9, "span", 7);
|
|
2216
2216
|
i0.ɵɵtext(10);
|
|
2217
2217
|
i0.ɵɵelementEnd();
|
|
2218
|
-
i0.ɵɵconditionalCreate(11,
|
|
2219
|
-
i0.ɵɵconditionalCreate(12,
|
|
2220
|
-
i0.ɵɵconditionalCreate(13,
|
|
2218
|
+
i0.ɵɵconditionalCreate(11, MJEntityFormComponentExtended_Conditional_0_Conditional_11_Template, 3, 0, "span", 8);
|
|
2219
|
+
i0.ɵɵconditionalCreate(12, MJEntityFormComponentExtended_Conditional_0_Conditional_12_Template, 3, 1, "span", 9);
|
|
2220
|
+
i0.ɵɵconditionalCreate(13, MJEntityFormComponentExtended_Conditional_0_Conditional_13_Template, 4, 3);
|
|
2221
2221
|
i0.ɵɵelementEnd();
|
|
2222
|
-
i0.ɵɵconditionalCreate(14,
|
|
2222
|
+
i0.ɵɵconditionalCreate(14, MJEntityFormComponentExtended_Conditional_0_Conditional_14_Template, 3, 1, "div", 10);
|
|
2223
2223
|
i0.ɵɵelementStart(15, "div", 11)(16, "span", 12);
|
|
2224
2224
|
i0.ɵɵtext(17);
|
|
2225
2225
|
i0.ɵɵelementEnd();
|
|
2226
2226
|
i0.ɵɵelementStart(18, "span", 13);
|
|
2227
2227
|
i0.ɵɵtext(19, "|");
|
|
2228
2228
|
i0.ɵɵelementEnd();
|
|
2229
|
-
i0.ɵɵconditionalCreate(20,
|
|
2229
|
+
i0.ɵɵconditionalCreate(20, MJEntityFormComponentExtended_Conditional_0_Conditional_20_Template, 3, 7, "span", 14);
|
|
2230
2230
|
i0.ɵɵelementEnd()()();
|
|
2231
2231
|
i0.ɵɵelementStart(21, "div", 15)(22, "div", 16);
|
|
2232
|
-
i0.ɵɵlistener("click", function
|
|
2232
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_Conditional_0_Template_div_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("fields")); });
|
|
2233
2233
|
i0.ɵɵelement(23, "i", 17);
|
|
2234
2234
|
i0.ɵɵelementStart(24, "span", 18);
|
|
2235
2235
|
i0.ɵɵtext(25);
|
|
@@ -2238,7 +2238,7 @@ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
2238
2238
|
i0.ɵɵtext(27, "Fields");
|
|
2239
2239
|
i0.ɵɵelementEnd()();
|
|
2240
2240
|
i0.ɵɵelementStart(28, "div", 16);
|
|
2241
|
-
i0.ɵɵlistener("click", function
|
|
2241
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_Conditional_0_Template_div_click_28_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("relationships")); });
|
|
2242
2242
|
i0.ɵɵelement(29, "i", 20);
|
|
2243
2243
|
i0.ɵɵelementStart(30, "span", 18);
|
|
2244
2244
|
i0.ɵɵtext(31);
|
|
@@ -2247,7 +2247,7 @@ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
2247
2247
|
i0.ɵɵtext(33, "Relations");
|
|
2248
2248
|
i0.ɵɵelementEnd()();
|
|
2249
2249
|
i0.ɵɵelementStart(34, "div", 16);
|
|
2250
|
-
i0.ɵɵlistener("click", function
|
|
2250
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_Conditional_0_Template_div_click_34_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.setActiveSection("permissions")); });
|
|
2251
2251
|
i0.ɵɵelement(35, "i", 21);
|
|
2252
2252
|
i0.ɵɵelementStart(36, "span", 18);
|
|
2253
2253
|
i0.ɵɵtext(37);
|
|
@@ -2257,32 +2257,32 @@ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
2257
2257
|
i0.ɵɵelementEnd()();
|
|
2258
2258
|
i0.ɵɵelementStart(40, "div", 22);
|
|
2259
2259
|
i0.ɵɵelement(41, "i", 23);
|
|
2260
|
-
i0.ɵɵconditionalCreate(42,
|
|
2261
|
-
i0.ɵɵconditionalCreate(43,
|
|
2260
|
+
i0.ɵɵconditionalCreate(42, MJEntityFormComponentExtended_Conditional_0_Conditional_42_Template, 2, 1, "span", 18);
|
|
2261
|
+
i0.ɵɵconditionalCreate(43, MJEntityFormComponentExtended_Conditional_0_Conditional_43_Template, 2, 0, "span", 24);
|
|
2262
2262
|
i0.ɵɵelementStart(44, "span", 19);
|
|
2263
2263
|
i0.ɵɵtext(45, "Rows");
|
|
2264
2264
|
i0.ɵɵelementEnd()()()();
|
|
2265
2265
|
i0.ɵɵelementStart(46, "div", 25)(47, "nav", 26);
|
|
2266
|
-
i0.ɵɵrepeaterCreate(48,
|
|
2266
|
+
i0.ɵɵrepeaterCreate(48, MJEntityFormComponentExtended_Conditional_0_For_49_Template, 5, 7, "button", 27, i0.ɵɵrepeaterTrackByIdentity);
|
|
2267
2267
|
i0.ɵɵelementEnd();
|
|
2268
2268
|
i0.ɵɵelementStart(50, "main", 28);
|
|
2269
|
-
i0.ɵɵconditionalCreate(51,
|
|
2270
|
-
i0.ɵɵconditionalCreate(52,
|
|
2271
|
-
i0.ɵɵconditionalCreate(53,
|
|
2272
|
-
i0.ɵɵconditionalCreate(54,
|
|
2273
|
-
i0.ɵɵconditionalCreate(55,
|
|
2274
|
-
i0.ɵɵconditionalCreate(56,
|
|
2275
|
-
i0.ɵɵconditionalCreate(57,
|
|
2269
|
+
i0.ɵɵconditionalCreate(51, MJEntityFormComponentExtended_Conditional_0_Conditional_51_Template, 111, 23, "section", 29);
|
|
2270
|
+
i0.ɵɵconditionalCreate(52, MJEntityFormComponentExtended_Conditional_0_Conditional_52_Template, 15, 8, "section", 30);
|
|
2271
|
+
i0.ɵɵconditionalCreate(53, MJEntityFormComponentExtended_Conditional_0_Conditional_53_Template, 13, 7, "section", 31);
|
|
2272
|
+
i0.ɵɵconditionalCreate(54, MJEntityFormComponentExtended_Conditional_0_Conditional_54_Template, 55, 22, "section", 32);
|
|
2273
|
+
i0.ɵɵconditionalCreate(55, MJEntityFormComponentExtended_Conditional_0_Conditional_55_Template, 57, 20, "section", 33);
|
|
2274
|
+
i0.ɵɵconditionalCreate(56, MJEntityFormComponentExtended_Conditional_0_Conditional_56_Template, 18, 7, "section", 34);
|
|
2275
|
+
i0.ɵɵconditionalCreate(57, MJEntityFormComponentExtended_Conditional_0_Conditional_57_Template, 27, 8, "section", 35);
|
|
2276
2276
|
i0.ɵɵelementEnd();
|
|
2277
2277
|
i0.ɵɵelementStart(58, "aside", 36)(59, "div", 37);
|
|
2278
|
-
i0.ɵɵconditionalCreate(60,
|
|
2279
|
-
i0.ɵɵconditionalCreate(61,
|
|
2278
|
+
i0.ɵɵconditionalCreate(60, MJEntityFormComponentExtended_Conditional_0_Conditional_60_Template, 2, 0, "h3");
|
|
2279
|
+
i0.ɵɵconditionalCreate(61, MJEntityFormComponentExtended_Conditional_0_Conditional_61_Template, 2, 0, "h3");
|
|
2280
2280
|
i0.ɵɵelementStart(62, "button", 38);
|
|
2281
|
-
i0.ɵɵlistener("click", function
|
|
2281
|
+
i0.ɵɵlistener("click", function MJEntityFormComponentExtended_Conditional_0_Template_button_click_62_listener() { i0.ɵɵrestoreView(_r1); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.closeDetailPanel()); });
|
|
2282
2282
|
i0.ɵɵelement(63, "i", 39);
|
|
2283
2283
|
i0.ɵɵelementEnd()();
|
|
2284
|
-
i0.ɵɵconditionalCreate(64,
|
|
2285
|
-
i0.ɵɵconditionalCreate(65,
|
|
2284
|
+
i0.ɵɵconditionalCreate(64, MJEntityFormComponentExtended_Conditional_0_Conditional_64_Template, 68, 17, "div", 40);
|
|
2285
|
+
i0.ɵɵconditionalCreate(65, MJEntityFormComponentExtended_Conditional_0_Conditional_65_Template, 42, 7, "div", 40);
|
|
2286
2286
|
i0.ɵɵelementEnd()()();
|
|
2287
2287
|
} if (rf & 2) {
|
|
2288
2288
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
@@ -2347,12 +2347,12 @@ function EntityFormComponentExtended_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
2347
2347
|
i0.ɵɵadvance();
|
|
2348
2348
|
i0.ɵɵconditional(ctx_r2.selectedRelationship ? 65 : -1);
|
|
2349
2349
|
} }
|
|
2350
|
-
function
|
|
2350
|
+
function MJEntityFormComponentExtended_Conditional_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
2351
2351
|
i0.ɵɵelementStart(0, "div", 293);
|
|
2352
2352
|
i0.ɵɵelement(1, "mj-loading", 296);
|
|
2353
2353
|
i0.ɵɵelementEnd();
|
|
2354
2354
|
} }
|
|
2355
|
-
function
|
|
2355
|
+
function MJEntityFormComponentExtended_Conditional_1_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
2356
2356
|
i0.ɵɵelementStart(0, "div", 294);
|
|
2357
2357
|
i0.ɵɵelement(1, "i", 297);
|
|
2358
2358
|
i0.ɵɵelementStart(2, "p");
|
|
@@ -2363,17 +2363,17 @@ function EntityFormComponentExtended_Conditional_1_Conditional_1_Template(rf, ct
|
|
|
2363
2363
|
i0.ɵɵadvance(3);
|
|
2364
2364
|
i0.ɵɵtextInterpolate(ctx_r2.explorerError);
|
|
2365
2365
|
} }
|
|
2366
|
-
function
|
|
2366
|
+
function MJEntityFormComponentExtended_Conditional_1_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
2367
2367
|
i0.ɵɵelementStart(0, "div", 295);
|
|
2368
2368
|
i0.ɵɵelement(1, "i", 23);
|
|
2369
2369
|
i0.ɵɵelementStart(2, "p");
|
|
2370
2370
|
i0.ɵɵtext(3, "Entity metadata not available");
|
|
2371
2371
|
i0.ɵɵelementEnd()();
|
|
2372
2372
|
} }
|
|
2373
|
-
function
|
|
2374
|
-
i0.ɵɵconditionalCreate(0,
|
|
2375
|
-
i0.ɵɵconditionalCreate(1,
|
|
2376
|
-
i0.ɵɵconditionalCreate(2,
|
|
2373
|
+
function MJEntityFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
2374
|
+
i0.ɵɵconditionalCreate(0, MJEntityFormComponentExtended_Conditional_1_Conditional_0_Template, 2, 0, "div", 293);
|
|
2375
|
+
i0.ɵɵconditionalCreate(1, MJEntityFormComponentExtended_Conditional_1_Conditional_1_Template, 4, 1, "div", 294);
|
|
2376
|
+
i0.ɵɵconditionalCreate(2, MJEntityFormComponentExtended_Conditional_1_Conditional_2_Template, 4, 0, "div", 295);
|
|
2377
2377
|
} if (rf & 2) {
|
|
2378
2378
|
const ctx_r2 = i0.ɵɵnextContext();
|
|
2379
2379
|
i0.ɵɵconditional(ctx_r2.isExplorerLoading ? 0 : -1);
|
|
@@ -2394,7 +2394,7 @@ function EntityFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf &
|
|
|
2394
2394
|
* - Visual ERD integration for relationship exploration
|
|
2395
2395
|
* - Slide-in detail panels for contextual information
|
|
2396
2396
|
*/
|
|
2397
|
-
let
|
|
2397
|
+
let MJEntityFormComponentExtended = class MJEntityFormComponentExtended extends MJEntityFormComponent {
|
|
2398
2398
|
constructor() {
|
|
2399
2399
|
super(...arguments);
|
|
2400
2400
|
this.sharedService = inject(SharedService);
|
|
@@ -3210,20 +3210,20 @@ let EntityFormComponentExtended = class EntityFormComponentExtended extends MJEn
|
|
|
3210
3210
|
return value;
|
|
3211
3211
|
}
|
|
3212
3212
|
}
|
|
3213
|
-
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵ
|
|
3214
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type:
|
|
3215
|
-
i0.ɵɵconditionalCreate(0,
|
|
3213
|
+
static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJEntityFormComponentExtended_BaseFactory; return function MJEntityFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJEntityFormComponentExtended_BaseFactory || (ɵMJEntityFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJEntityFormComponentExtended)))(__ngFactoryType__ || MJEntityFormComponentExtended); }; })(); }
|
|
3214
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJEntityFormComponentExtended, 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, "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, "status-badge", "isa-badge", "parent-type"], [1, "fa-solid", "fa-sitemap"], ["title", "Multiple child types can coexist for a single parent record", 1, "status-badge", "isa-badge", "overlapping"], [1, "fa-solid", "fa-clone"], [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 MJEntityFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
3215
|
+
i0.ɵɵconditionalCreate(0, MJEntityFormComponentExtended_Conditional_0_Template, 66, 34, "div", 0)(1, MJEntityFormComponentExtended_Conditional_1_Template, 3, 3);
|
|
3216
3216
|
} if (rf & 2) {
|
|
3217
3217
|
i0.ɵɵconditional(!ctx.isExplorerLoading && ctx.entity ? 0 : 1);
|
|
3218
3218
|
} }, 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.isa-badge.overlapping[_ngcontent-%COMP%] {\n background: rgba(245, 158, 11, 0.12);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 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 }); }
|
|
3219
3219
|
};
|
|
3220
|
-
|
|
3220
|
+
MJEntityFormComponentExtended = __decorate([
|
|
3221
3221
|
RegisterClass(BaseFormComponent, 'MJ: Entities')
|
|
3222
|
-
],
|
|
3223
|
-
export {
|
|
3224
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(
|
|
3222
|
+
], MJEntityFormComponentExtended);
|
|
3223
|
+
export { MJEntityFormComponentExtended };
|
|
3224
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJEntityFormComponentExtended, [{
|
|
3225
3225
|
type: Component,
|
|
3226
3226
|
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 @if (HasOverlappingSubtypes) {\n <span class=\"status-badge isa-badge overlapping\" title=\"Multiple child types can coexist for a single parent record\">\n <i class=\"fa-solid fa-clone\"></i> Overlapping Subtypes\n </span>\n }\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 ({{ ParentChain[0]?.AllowMultipleSubtypes ? 'overlapping' : '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.isa-badge.overlapping {\n background: rgba(245, 158, 11, 0.12);\n color: #d97706;\n border: 1px solid rgba(245, 158, 11, 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"] }]
|
|
3227
3227
|
}], null, null); })();
|
|
3228
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(
|
|
3228
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJEntityFormComponentExtended, { className: "MJEntityFormComponentExtended", filePath: "src/lib/custom/Entities/entity-form.component.ts", lineNumber: 130 }); })();
|
|
3229
3229
|
//# sourceMappingURL=entity-form.component.js.map
|