@memberjunction/ng-core-entity-forms 5.11.0 → 5.13.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 +2 -2
- package/dist/lib/custom/AIAgents/add-action-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +8 -0
- package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js +199 -139
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +6 -6
- package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +2 -2
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +6 -6
- package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +3 -3
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +2 -2
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +4 -4
- package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
- package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +2 -2
- package/dist/lib/custom/Actions/action-execution-log-form.component.js +5 -5
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +22 -22
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.d.ts +11 -0
- package/dist/lib/custom/Entities/entity-form.component.d.ts.map +1 -1
- package/dist/lib/custom/Entities/entity-form.component.js +244 -217
- package/dist/lib/custom/Entities/entity-form.component.js.map +1 -1
- package/dist/lib/custom/EntityActions/entityaction.form.component.js +3 -3
- package/dist/lib/custom/EntityActions/entityaction.form.component.js.map +1 -1
- package/dist/lib/custom/Lists/list-form.component.js +8 -8
- package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-category-dialog.component.js +3 -3
- package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
- package/dist/lib/custom/Queries/query-form.component.js +2 -2
- package/dist/lib/custom/Queries/query-run-dialog.component.js +3 -3
- package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-param-dialog.component.js +107 -111
- package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
- package/dist/lib/custom/Templates/template-params-grid.component.js +2 -2
- package/dist/lib/custom/Templates/templates-form.component.js +40 -43
- package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/entity-link-pill.component.js +2 -2
- package/dist/lib/custom/Tests/entity-link-pill.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-form.component.js +2 -2
- package/dist/lib/custom/Tests/test-rubric-form.component.js +2 -2
- package/dist/lib/custom/Tests/test-rubric-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js +2 -2
- package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
- package/dist/lib/custom/Tests/test-run-form.component.js +2 -2
- package/dist/lib/custom/Tests/test-suite-form.component.js +2 -2
- package/dist/lib/custom/Tests/test-suite-run-form.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-detail.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +2 -2
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +28 -18
- package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +2 -2
- package/dist/lib/custom/custom-forms.module.d.ts +2 -1
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +7 -3
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/custom/shared/entity-selector-dialog.component.js +2 -2
- package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +155 -153
- package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js +105 -0
- package/dist/lib/generated/Entities/MJAIAgentCategory/mjaiagentcategory.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRequest/mjaiagentrequest.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRequest/mjaiagentrequest.form.component.js +31 -7
- package/dist/lib/generated/Entities/MJAIAgentRequest/mjaiagentrequest.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.d.ts +10 -0
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.d.ts.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js +89 -0
- package/dist/lib/generated/Entities/MJAIAgentRequestType/mjaiagentrequesttype.form.component.js.map +1 -0
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js +50 -14
- package/dist/lib/generated/Entities/MJAIAgentRun/mjaiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js +22 -4
- package/dist/lib/generated/Entities/MJAIAgentRunStep/mjaiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js +13 -11
- package/dist/lib/generated/Entities/MJAIAgentType/mjaiagenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js +83 -81
- package/dist/lib/generated/Entities/MJAction/mjaction.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js +35 -33
- package/dist/lib/generated/Entities/MJIntegration/mjintegration.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js +25 -19
- package/dist/lib/generated/Entities/MJIntegrationObject/mjintegrationobject.form.component.js.map +1 -1
- package/dist/lib/generated/generated-forms.module.d.ts +289 -287
- package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
- package/dist/lib/generated/generated-forms.module.js +102 -96
- package/dist/lib/generated/generated-forms.module.js.map +1 -1
- package/dist/lib/shared/components/template-editor.component.js +85 -89
- package/dist/lib/shared/components/template-editor.component.js.map +1 -1
- package/package.json +31 -31
|
@@ -8,14 +8,14 @@ import * as i3 from "@progress/kendo-angular-dialog";
|
|
|
8
8
|
import * as i4 from "@progress/kendo-angular-inputs";
|
|
9
9
|
import * as i5 from "@progress/kendo-angular-buttons";
|
|
10
10
|
function TemplateParamDialogComponent_Conditional_0_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
11
|
-
i0.ɵɵelementStart(0, "div",
|
|
12
|
-
i0.ɵɵelement(1, "i",
|
|
13
|
-
i0.ɵɵelementStart(2, "span"
|
|
11
|
+
i0.ɵɵelementStart(0, "div", 7);
|
|
12
|
+
i0.ɵɵelement(1, "i", 14);
|
|
13
|
+
i0.ɵɵelementStart(2, "span");
|
|
14
14
|
i0.ɵɵtext(3, "Loading template parameters...");
|
|
15
15
|
i0.ɵɵelementEnd()();
|
|
16
16
|
} }
|
|
17
17
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
i0.ɵɵelementStart(0, "span",
|
|
18
|
+
i0.ɵɵelementStart(0, "span", 29);
|
|
19
19
|
i0.ɵɵtext(1);
|
|
20
20
|
i0.ɵɵelementEnd();
|
|
21
21
|
} if (rf & 2) {
|
|
@@ -24,10 +24,10 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1
|
|
|
24
24
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.parameters.length, " ");
|
|
25
25
|
} }
|
|
26
26
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
27
|
-
i0.ɵɵelementStart(0, "span",
|
|
28
|
-
i0.ɵɵelement(1, "i",
|
|
27
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
28
|
+
i0.ɵɵelement(1, "i", 5);
|
|
29
29
|
i0.ɵɵtext(2, " Template Parameters ");
|
|
30
|
-
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Conditional_3_Template, 2, 1, "span",
|
|
30
|
+
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Conditional_3_Template, 2, 1, "span", 29);
|
|
31
31
|
i0.ɵɵelementEnd();
|
|
32
32
|
} if (rf & 2) {
|
|
33
33
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -35,18 +35,18 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1
|
|
|
35
35
|
i0.ɵɵconditional(ctx_r1.parameters.length > 0 ? 3 : -1);
|
|
36
36
|
} }
|
|
37
37
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
38
|
-
i0.ɵɵelement(0, "i",
|
|
38
|
+
i0.ɵɵelement(0, "i", 37);
|
|
39
39
|
} }
|
|
40
40
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
41
|
-
i0.ɵɵelement(0, "i",
|
|
41
|
+
i0.ɵɵelement(0, "i", 38);
|
|
42
42
|
} }
|
|
43
43
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
44
|
-
i0.ɵɵelementStart(0, "span",
|
|
44
|
+
i0.ɵɵelementStart(0, "span", 39);
|
|
45
45
|
i0.ɵɵtext(1, "*");
|
|
46
46
|
i0.ɵɵelementEnd();
|
|
47
47
|
} }
|
|
48
48
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
49
|
-
i0.ɵɵelementStart(0, "div",
|
|
49
|
+
i0.ɵɵelementStart(0, "div", 46);
|
|
50
50
|
i0.ɵɵtext(1);
|
|
51
51
|
i0.ɵɵelementEnd();
|
|
52
52
|
} if (rf & 2) {
|
|
@@ -55,7 +55,7 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
55
55
|
i0.ɵɵtextInterpolate1(" ", param_r6.description, " ");
|
|
56
56
|
} }
|
|
57
57
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
-
i0.ɵɵelementStart(0, "div",
|
|
58
|
+
i0.ɵɵelementStart(0, "div", 47);
|
|
59
59
|
i0.ɵɵtext(1);
|
|
60
60
|
i0.ɵɵelementEnd();
|
|
61
61
|
} if (rf & 2) {
|
|
@@ -64,11 +64,11 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
64
64
|
i0.ɵɵtextInterpolate1(" Type: ", param_r6.type, " ");
|
|
65
65
|
} }
|
|
66
66
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
67
|
-
i0.ɵɵelementStart(0, "div",
|
|
67
|
+
i0.ɵɵelementStart(0, "div", 45);
|
|
68
68
|
i0.ɵɵtext(1);
|
|
69
69
|
i0.ɵɵelementEnd();
|
|
70
|
-
i0.ɵɵconditionalCreate(2, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_2_Template, 2, 1, "div",
|
|
71
|
-
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_3_Template, 2, 1, "div",
|
|
70
|
+
i0.ɵɵconditionalCreate(2, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_2_Template, 2, 1, "div", 46);
|
|
71
|
+
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Conditional_3_Template, 2, 1, "div", 47);
|
|
72
72
|
} if (rf & 2) {
|
|
73
73
|
const param_r6 = i0.ɵɵnextContext().$implicit;
|
|
74
74
|
i0.ɵɵadvance();
|
|
@@ -80,7 +80,7 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
80
80
|
} }
|
|
81
81
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
82
82
|
const _r7 = i0.ɵɵgetCurrentView();
|
|
83
|
-
i0.ɵɵelementStart(0, "kendo-textbox",
|
|
83
|
+
i0.ɵɵelementStart(0, "kendo-textbox", 48);
|
|
84
84
|
i0.ɵɵtwoWayListener("ngModelChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_7_Template_kendo_textbox_ngModelChange_0_listener($event) { i0.ɵɵrestoreView(_r7); const param_r6 = i0.ɵɵnextContext().$implicit; i0.ɵɵtwoWayBindingSet(param_r6.key, $event) || (param_r6.key = $event); return i0.ɵɵresetView($event); });
|
|
85
85
|
i0.ɵɵlistener("ngModelChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_7_Template_kendo_textbox_ngModelChange_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r1.onParameterChange()); });
|
|
86
86
|
i0.ɵɵelementEnd();
|
|
@@ -92,9 +92,9 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
92
92
|
} }
|
|
93
93
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
94
94
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
95
|
-
i0.ɵɵelementStart(0, "button",
|
|
95
|
+
i0.ɵɵelementStart(0, "button", 49);
|
|
96
96
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_11_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r8); const ɵ$index_65_r9 = i0.ɵɵnextContext().$index; const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.removeParameter(ɵ$index_65_r9)); });
|
|
97
|
-
i0.ɵɵelement(1, "i",
|
|
97
|
+
i0.ɵɵelement(1, "i", 50);
|
|
98
98
|
i0.ɵɵelementEnd();
|
|
99
99
|
} if (rf & 2) {
|
|
100
100
|
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
@@ -102,18 +102,18 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
102
102
|
} }
|
|
103
103
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Template(rf, ctx) { if (rf & 1) {
|
|
104
104
|
const _r5 = i0.ɵɵgetCurrentView();
|
|
105
|
-
i0.ɵɵelementStart(0, "div",
|
|
106
|
-
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_3_Template, 1, 0, "i",
|
|
107
|
-
i0.ɵɵconditionalCreate(5, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_5_Template, 2, 0, "span",
|
|
105
|
+
i0.ɵɵelementStart(0, "div", 31)(1, "div", 35)(2, "div", 36);
|
|
106
|
+
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_3_Template, 1, 0, "i", 37)(4, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_4_Template, 1, 0, "i", 38);
|
|
107
|
+
i0.ɵɵconditionalCreate(5, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_5_Template, 2, 0, "span", 39);
|
|
108
108
|
i0.ɵɵelementEnd();
|
|
109
|
-
i0.ɵɵconditionalCreate(6, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Template, 4, 3)(7, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_7_Template, 1, 2, "kendo-textbox",
|
|
109
|
+
i0.ɵɵconditionalCreate(6, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_6_Template, 4, 3)(7, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_7_Template, 1, 2, "kendo-textbox", 40);
|
|
110
110
|
i0.ɵɵelementEnd();
|
|
111
|
-
i0.ɵɵelementStart(8, "div",
|
|
111
|
+
i0.ɵɵelementStart(8, "div", 41)(9, "kendo-textarea", 42);
|
|
112
112
|
i0.ɵɵtwoWayListener("ngModelChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Template_kendo_textarea_ngModelChange_9_listener($event) { const param_r6 = i0.ɵɵrestoreView(_r5).$implicit; i0.ɵɵtwoWayBindingSet(param_r6.value, $event) || (param_r6.value = $event); return i0.ɵɵresetView($event); });
|
|
113
113
|
i0.ɵɵlistener("ngModelChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Template_kendo_textarea_ngModelChange_9_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onParameterChange()); });
|
|
114
114
|
i0.ɵɵelementEnd()();
|
|
115
|
-
i0.ɵɵelementStart(10, "div",
|
|
116
|
-
i0.ɵɵconditionalCreate(11, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_11_Template, 2, 1, "button",
|
|
115
|
+
i0.ɵɵelementStart(10, "div", 43);
|
|
116
|
+
i0.ɵɵconditionalCreate(11, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Conditional_11_Template, 2, 1, "button", 44);
|
|
117
117
|
i0.ɵɵelementEnd()();
|
|
118
118
|
} if (rf & 2) {
|
|
119
119
|
const param_r6 = ctx.$implicit;
|
|
@@ -132,7 +132,7 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
132
132
|
} }
|
|
133
133
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_Template(rf, ctx) { if (rf & 1) {
|
|
134
134
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
135
|
-
i0.ɵɵelementStart(0, "div",
|
|
135
|
+
i0.ɵɵelementStart(0, "div", 20)(1, "div", 30)(2, "div");
|
|
136
136
|
i0.ɵɵtext(3, "Parameter Name");
|
|
137
137
|
i0.ɵɵelementEnd();
|
|
138
138
|
i0.ɵɵelementStart(4, "div");
|
|
@@ -141,10 +141,10 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
141
141
|
i0.ɵɵelementStart(6, "div");
|
|
142
142
|
i0.ɵɵtext(7, "Actions");
|
|
143
143
|
i0.ɵɵelementEnd()();
|
|
144
|
-
i0.ɵɵrepeaterCreate(8, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Template, 12, 7, "div",
|
|
145
|
-
i0.ɵɵelementStart(10, "div",
|
|
144
|
+
i0.ɵɵrepeaterCreate(8, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_For_9_Template, 12, 7, "div", 31, i0.ɵɵrepeaterTrackByIndex);
|
|
145
|
+
i0.ɵɵelementStart(10, "div", 32)(11, "button", 33);
|
|
146
146
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addParameter()); });
|
|
147
|
-
i0.ɵɵelement(12, "i",
|
|
147
|
+
i0.ɵɵelement(12, "i", 34);
|
|
148
148
|
i0.ɵɵtext(13, " Add Parameter ");
|
|
149
149
|
i0.ɵɵelementEnd()()();
|
|
150
150
|
} if (rf & 2) {
|
|
@@ -156,14 +156,14 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6
|
|
|
156
156
|
} }
|
|
157
157
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
158
158
|
const _r10 = i0.ɵɵgetCurrentView();
|
|
159
|
-
i0.ɵɵelementStart(0, "div",
|
|
160
|
-
i0.ɵɵelement(1, "i",
|
|
161
|
-
i0.ɵɵelementStart(2, "p"
|
|
159
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
160
|
+
i0.ɵɵelement(1, "i", 19);
|
|
161
|
+
i0.ɵɵelementStart(2, "p");
|
|
162
162
|
i0.ɵɵtext(3, "No parameters defined yet");
|
|
163
163
|
i0.ɵɵelementEnd();
|
|
164
|
-
i0.ɵɵelementStart(4, "button",
|
|
164
|
+
i0.ɵɵelementStart(4, "button", 51);
|
|
165
165
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_7_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.addParameter()); });
|
|
166
|
-
i0.ɵɵelement(5, "i",
|
|
166
|
+
i0.ɵɵelement(5, "i", 34);
|
|
167
167
|
i0.ɵɵtext(6, " Add First Parameter ");
|
|
168
168
|
i0.ɵɵelementEnd()();
|
|
169
169
|
} if (rf & 2) {
|
|
@@ -172,26 +172,32 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_7
|
|
|
172
172
|
i0.ɵɵproperty("disabled", ctx_r1.isRunning);
|
|
173
173
|
} }
|
|
174
174
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_9_Template(rf, ctx) { if (rf & 1) {
|
|
175
|
-
i0.ɵɵelementStart(0, "span",
|
|
176
|
-
i0.ɵɵelement(1, "i",
|
|
175
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
176
|
+
i0.ɵɵelement(1, "i", 52);
|
|
177
177
|
i0.ɵɵtext(2, " Context Data (JSON) ");
|
|
178
178
|
i0.ɵɵelementEnd();
|
|
179
179
|
} }
|
|
180
|
-
function
|
|
181
|
-
i0.ɵɵelementStart(0, "span",
|
|
182
|
-
i0.ɵɵtext(1);
|
|
180
|
+
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
181
|
+
i0.ɵɵelementStart(0, "span", 54);
|
|
182
|
+
i0.ɵɵtext(1, "Success");
|
|
183
183
|
i0.ɵɵelementEnd();
|
|
184
|
+
} }
|
|
185
|
+
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
186
|
+
i0.ɵɵelementStart(0, "span", 55);
|
|
187
|
+
i0.ɵɵtext(1, "Error");
|
|
188
|
+
i0.ɵɵelementEnd();
|
|
189
|
+
} }
|
|
190
|
+
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
+
i0.ɵɵconditionalCreate(0, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Conditional_0_Template, 2, 0, "span", 54)(1, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Conditional_1_Template, 2, 0, "span", 55);
|
|
184
192
|
} if (rf & 2) {
|
|
185
193
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
186
|
-
i0.ɵɵ
|
|
187
|
-
i0.ɵɵadvance();
|
|
188
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.testResult.success ? "Success" : "Error", " ");
|
|
194
|
+
i0.ɵɵconditional(ctx_r1.testResult.success ? 0 : 1);
|
|
189
195
|
} }
|
|
190
196
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
-
i0.ɵɵelementStart(0, "span",
|
|
192
|
-
i0.ɵɵelement(1, "i",
|
|
197
|
+
i0.ɵɵelementStart(0, "span", 28);
|
|
198
|
+
i0.ɵɵelement(1, "i", 53);
|
|
193
199
|
i0.ɵɵtext(2, " Test Results ");
|
|
194
|
-
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Template, 2,
|
|
200
|
+
i0.ɵɵconditionalCreate(3, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Conditional_3_Template, 2, 1);
|
|
195
201
|
i0.ɵɵelementEnd();
|
|
196
202
|
} if (rf & 2) {
|
|
197
203
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
@@ -199,34 +205,30 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1
|
|
|
199
205
|
i0.ɵɵconditional(ctx_r1.testResult ? 3 : -1);
|
|
200
206
|
} }
|
|
201
207
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
202
|
-
i0.ɵɵelementStart(0, "div",
|
|
203
|
-
i0.ɵɵelement(1, "i",
|
|
204
|
-
i0.ɵɵelementStart(2, "span"
|
|
208
|
+
i0.ɵɵelementStart(0, "div", 25);
|
|
209
|
+
i0.ɵɵelement(1, "i", 14);
|
|
210
|
+
i0.ɵɵelementStart(2, "span");
|
|
205
211
|
i0.ɵɵtext(3, "Running template...");
|
|
206
212
|
i0.ɵɵelementEnd()();
|
|
207
213
|
} }
|
|
208
214
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_7_Template(rf, ctx) { if (rf & 1) {
|
|
209
|
-
i0.ɵɵelementStart(0, "div",
|
|
215
|
+
i0.ɵɵelementStart(0, "div", 57)(1, "div", 58);
|
|
210
216
|
i0.ɵɵtext(2, "EXECUTION TIME");
|
|
211
217
|
i0.ɵɵelementEnd();
|
|
212
|
-
i0.ɵɵelementStart(3, "div",
|
|
218
|
+
i0.ɵɵelementStart(3, "div", 59);
|
|
213
219
|
i0.ɵɵtext(4);
|
|
214
220
|
i0.ɵɵelementEnd()();
|
|
215
221
|
} if (rf & 2) {
|
|
216
222
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
217
|
-
i0.ɵɵadvance();
|
|
218
|
-
i0.ɵɵstyleProp("color", ctx_r1.testResult.success ? "#155724" : "#721c24");
|
|
219
|
-
i0.ɵɵadvance(2);
|
|
220
|
-
i0.ɵɵstyleProp("color", ctx_r1.testResult.success ? "#155724" : "#721c24");
|
|
221
|
-
i0.ɵɵadvance();
|
|
223
|
+
i0.ɵɵadvance(4);
|
|
222
224
|
i0.ɵɵtextInterpolate1("", ctx_r1.testResult.executionTimeMs, "ms");
|
|
223
225
|
} }
|
|
224
226
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
225
|
-
i0.ɵɵelementStart(0, "div",
|
|
226
|
-
i0.ɵɵelement(2, "i",
|
|
227
|
+
i0.ɵɵelementStart(0, "div", 62)(1, "h6", 63);
|
|
228
|
+
i0.ɵɵelement(2, "i", 64);
|
|
227
229
|
i0.ɵɵtext(3, " Template Output ");
|
|
228
230
|
i0.ɵɵelementEnd();
|
|
229
|
-
i0.ɵɵelementStart(4, "div",
|
|
231
|
+
i0.ɵɵelementStart(4, "div", 65);
|
|
230
232
|
i0.ɵɵtext(5);
|
|
231
233
|
i0.ɵɵelementEnd()();
|
|
232
234
|
} if (rf & 2) {
|
|
@@ -235,11 +237,11 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_1
|
|
|
235
237
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.testResult.output, " ");
|
|
236
238
|
} }
|
|
237
239
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_15_Template(rf, ctx) { if (rf & 1) {
|
|
238
|
-
i0.ɵɵelementStart(0, "div",
|
|
239
|
-
i0.ɵɵelement(2, "i",
|
|
240
|
+
i0.ɵɵelementStart(0, "div", 62)(1, "h6", 63);
|
|
241
|
+
i0.ɵɵelement(2, "i", 66);
|
|
240
242
|
i0.ɵɵtext(3, " Error Details ");
|
|
241
243
|
i0.ɵɵelementEnd();
|
|
242
|
-
i0.ɵɵelementStart(4, "div",
|
|
244
|
+
i0.ɵɵelementStart(4, "div", 67);
|
|
243
245
|
i0.ɵɵtext(5);
|
|
244
246
|
i0.ɵɵelementEnd()();
|
|
245
247
|
} if (rf & 2) {
|
|
@@ -249,69 +251,63 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_1
|
|
|
249
251
|
} }
|
|
250
252
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
251
253
|
const _r11 = i0.ɵɵgetCurrentView();
|
|
252
|
-
i0.ɵɵelementStart(0, "div",
|
|
254
|
+
i0.ɵɵelementStart(0, "div", 26)(1, "div", 56)(2, "div", 57)(3, "div", 58);
|
|
253
255
|
i0.ɵɵtext(4, "STATUS");
|
|
254
256
|
i0.ɵɵelementEnd();
|
|
255
|
-
i0.ɵɵelementStart(5, "div",
|
|
257
|
+
i0.ɵɵelementStart(5, "div", 59);
|
|
256
258
|
i0.ɵɵtext(6);
|
|
257
259
|
i0.ɵɵelementEnd()();
|
|
258
|
-
i0.ɵɵconditionalCreate(7, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_7_Template, 5,
|
|
259
|
-
i0.ɵɵelementStart(8, "div",
|
|
260
|
+
i0.ɵɵconditionalCreate(7, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_7_Template, 5, 1, "div", 57);
|
|
261
|
+
i0.ɵɵelementStart(8, "div", 57)(9, "div", 58);
|
|
260
262
|
i0.ɵɵtext(10, "ACTIONS");
|
|
261
263
|
i0.ɵɵelementEnd();
|
|
262
|
-
i0.ɵɵelementStart(11, "button",
|
|
264
|
+
i0.ɵɵelementStart(11, "button", 60);
|
|
263
265
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.saveResults()); });
|
|
264
|
-
i0.ɵɵelement(12, "i",
|
|
266
|
+
i0.ɵɵelement(12, "i", 61);
|
|
265
267
|
i0.ɵɵelementEnd()()();
|
|
266
|
-
i0.ɵɵelementStart(13, "div",
|
|
267
|
-
i0.ɵɵconditionalCreate(14, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_14_Template, 6, 1, "div",
|
|
268
|
+
i0.ɵɵelementStart(13, "div", 26);
|
|
269
|
+
i0.ɵɵconditionalCreate(14, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_14_Template, 6, 1, "div", 62)(15, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Conditional_15_Template, 6, 1, "div", 62);
|
|
268
270
|
i0.ɵɵelementEnd()();
|
|
269
271
|
} if (rf & 2) {
|
|
270
272
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
271
273
|
i0.ɵɵadvance();
|
|
272
|
-
i0.ɵɵ
|
|
273
|
-
i0.ɵɵadvance(
|
|
274
|
-
i0.ɵɵstyleProp("color", ctx_r1.testResult.success ? "#155724" : "#721c24");
|
|
275
|
-
i0.ɵɵadvance(2);
|
|
276
|
-
i0.ɵɵstyleProp("color", ctx_r1.testResult.success ? "#155724" : "#721c24");
|
|
277
|
-
i0.ɵɵadvance();
|
|
274
|
+
i0.ɵɵclassProp("success", ctx_r1.testResult.success)("error", !ctx_r1.testResult.success);
|
|
275
|
+
i0.ɵɵadvance(5);
|
|
278
276
|
i0.ɵɵtextInterpolate1(" ", ctx_r1.testResult.success ? "Success" : "Failed", " ");
|
|
279
277
|
i0.ɵɵadvance();
|
|
280
278
|
i0.ɵɵconditional(ctx_r1.testResult.executionTimeMs ? 7 : -1);
|
|
281
|
-
i0.ɵɵadvance(
|
|
282
|
-
i0.ɵɵstyleProp("color", ctx_r1.testResult.success ? "#155724" : "#721c24");
|
|
283
|
-
i0.ɵɵadvance(5);
|
|
279
|
+
i0.ɵɵadvance(7);
|
|
284
280
|
i0.ɵɵconditional(ctx_r1.testResult.success && ctx_r1.testResult.output ? 14 : !ctx_r1.testResult.success && ctx_r1.testResult.error ? 15 : -1);
|
|
285
281
|
} }
|
|
286
282
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
287
|
-
i0.ɵɵelementStart(0, "div",
|
|
288
|
-
i0.ɵɵelement(2, "i",
|
|
289
|
-
i0.ɵɵelementStart(3, "p"
|
|
283
|
+
i0.ɵɵelementStart(0, "div", 27)(1, "div", 68);
|
|
284
|
+
i0.ɵɵelement(2, "i", 69);
|
|
285
|
+
i0.ɵɵelementStart(3, "p");
|
|
290
286
|
i0.ɵɵtext(4, "No test results yet. Run the template to see results here.");
|
|
291
287
|
i0.ɵɵelementEnd()()();
|
|
292
288
|
} }
|
|
293
289
|
function TemplateParamDialogComponent_Conditional_0_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
294
290
|
const _r3 = i0.ɵɵgetCurrentView();
|
|
295
|
-
i0.ɵɵelementStart(0, "kendo-expansionpanel",
|
|
291
|
+
i0.ɵɵelementStart(0, "kendo-expansionpanel", 15);
|
|
296
292
|
i0.ɵɵtwoWayListener("expandedChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Template_kendo_expansionpanel_expandedChange_0_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.parametersExpanded, $event) || (ctx_r1.parametersExpanded = $event); return i0.ɵɵresetView($event); });
|
|
297
|
-
i0.ɵɵtemplate(1, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Template, 4, 1, "ng-template",
|
|
298
|
-
i0.ɵɵelementStart(2, "div",
|
|
299
|
-
i0.ɵɵelement(4, "i",
|
|
293
|
+
i0.ɵɵtemplate(1, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_1_Template, 4, 1, "ng-template", 16);
|
|
294
|
+
i0.ɵɵelementStart(2, "div", 17)(3, "div", 18);
|
|
295
|
+
i0.ɵɵelement(4, "i", 19);
|
|
300
296
|
i0.ɵɵtext(5, " Configure parameter values for template testing. Values can be JSON objects, strings, or numbers. ");
|
|
301
297
|
i0.ɵɵelementEnd();
|
|
302
|
-
i0.ɵɵconditionalCreate(6, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_Template, 14, 1, "div",
|
|
298
|
+
i0.ɵɵconditionalCreate(6, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_6_Template, 14, 1, "div", 20)(7, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_7_Template, 7, 1, "div", 21);
|
|
303
299
|
i0.ɵɵelementEnd()();
|
|
304
|
-
i0.ɵɵelementStart(8, "kendo-expansionpanel",
|
|
300
|
+
i0.ɵɵelementStart(8, "kendo-expansionpanel", 15);
|
|
305
301
|
i0.ɵɵtwoWayListener("expandedChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Template_kendo_expansionpanel_expandedChange_8_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.jsonPreviewExpanded, $event) || (ctx_r1.jsonPreviewExpanded = $event); return i0.ɵɵresetView($event); });
|
|
306
|
-
i0.ɵɵtemplate(9, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_9_Template, 3, 0, "ng-template",
|
|
307
|
-
i0.ɵɵelementStart(10, "div",
|
|
302
|
+
i0.ɵɵtemplate(9, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_9_Template, 3, 0, "ng-template", 16);
|
|
303
|
+
i0.ɵɵelementStart(10, "div", 17)(11, "div", 22)(12, "pre");
|
|
308
304
|
i0.ɵɵtext(13);
|
|
309
305
|
i0.ɵɵelementEnd()()()();
|
|
310
|
-
i0.ɵɵelementStart(14, "kendo-expansionpanel",
|
|
306
|
+
i0.ɵɵelementStart(14, "kendo-expansionpanel", 23);
|
|
311
307
|
i0.ɵɵtwoWayListener("expandedChange", function TemplateParamDialogComponent_Conditional_0_Conditional_13_Template_kendo_expansionpanel_expandedChange_14_listener($event) { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.resultsExpanded, $event) || (ctx_r1.resultsExpanded = $event); return i0.ɵɵresetView($event); });
|
|
312
|
-
i0.ɵɵtemplate(15, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Template, 4, 1, "ng-template",
|
|
313
|
-
i0.ɵɵelementStart(16, "div",
|
|
314
|
-
i0.ɵɵconditionalCreate(17, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_17_Template, 4, 0, "div",
|
|
308
|
+
i0.ɵɵtemplate(15, TemplateParamDialogComponent_Conditional_0_Conditional_13_ng_template_15_Template, 4, 1, "ng-template", 16);
|
|
309
|
+
i0.ɵɵelementStart(16, "div", 24);
|
|
310
|
+
i0.ɵɵconditionalCreate(17, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_17_Template, 4, 0, "div", 25)(18, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_18_Template, 16, 7, "div", 26)(19, TemplateParamDialogComponent_Conditional_0_Conditional_13_Conditional_19_Template, 5, 0, "div", 27);
|
|
315
311
|
i0.ɵɵelementEnd()();
|
|
316
312
|
} if (rf & 2) {
|
|
317
313
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -329,9 +325,9 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_13_Template(rf,
|
|
|
329
325
|
} }
|
|
330
326
|
function TemplateParamDialogComponent_Conditional_0_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
331
327
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
332
|
-
i0.ɵɵelementStart(0, "button",
|
|
328
|
+
i0.ɵɵelementStart(0, "button", 70);
|
|
333
329
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_17_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.updateTemplateParams()); });
|
|
334
|
-
i0.ɵɵelement(1, "i",
|
|
330
|
+
i0.ɵɵelement(1, "i", 71);
|
|
335
331
|
i0.ɵɵtext(2, " Update Template Params ");
|
|
336
332
|
i0.ɵɵelementEnd();
|
|
337
333
|
} if (rf & 2) {
|
|
@@ -340,18 +336,18 @@ function TemplateParamDialogComponent_Conditional_0_Conditional_17_Template(rf,
|
|
|
340
336
|
} }
|
|
341
337
|
function TemplateParamDialogComponent_Conditional_0_Conditional_21_Template(rf, ctx) { if (rf & 1) {
|
|
342
338
|
const _r13 = i0.ɵɵgetCurrentView();
|
|
343
|
-
i0.ɵɵelementStart(0, "button",
|
|
339
|
+
i0.ɵɵelementStart(0, "button", 72);
|
|
344
340
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Conditional_21_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.saveResults()); });
|
|
345
|
-
i0.ɵɵelement(1, "i",
|
|
341
|
+
i0.ɵɵelement(1, "i", 61);
|
|
346
342
|
i0.ɵɵtext(2, " Save Results ");
|
|
347
343
|
i0.ɵɵelementEnd();
|
|
348
344
|
} }
|
|
349
345
|
function TemplateParamDialogComponent_Conditional_0_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
350
|
-
i0.ɵɵelement(0, "i",
|
|
346
|
+
i0.ɵɵelement(0, "i", 14);
|
|
351
347
|
i0.ɵɵtext(1, " Running... ");
|
|
352
348
|
} }
|
|
353
349
|
function TemplateParamDialogComponent_Conditional_0_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
354
|
-
i0.ɵɵelement(0, "i",
|
|
350
|
+
i0.ɵɵelement(0, "i", 73);
|
|
355
351
|
i0.ɵɵtext(1, " Run Template ");
|
|
356
352
|
} }
|
|
357
353
|
function TemplateParamDialogComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -360,27 +356,27 @@ function TemplateParamDialogComponent_Conditional_0_Template(rf, ctx) { if (rf &
|
|
|
360
356
|
i0.ɵɵlistener("close", function TemplateParamDialogComponent_Conditional_0_Template_kendo_dialog_close_0_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.close()); });
|
|
361
357
|
i0.ɵɵelementStart(1, "div", 2)(2, "div", 3)(3, "div", 4);
|
|
362
358
|
i0.ɵɵelement(4, "i", 5);
|
|
363
|
-
i0.ɵɵelementStart(5, "h5"
|
|
359
|
+
i0.ɵɵelementStart(5, "h5");
|
|
364
360
|
i0.ɵɵtext(6, "Template Testing");
|
|
365
361
|
i0.ɵɵelementEnd()();
|
|
366
|
-
i0.ɵɵelementStart(7, "p"
|
|
362
|
+
i0.ɵɵelementStart(7, "p");
|
|
367
363
|
i0.ɵɵtext(8, " Configure parameter values for testing. Parameters with ");
|
|
368
|
-
i0.ɵɵelementStart(9, "span",
|
|
364
|
+
i0.ɵɵelementStart(9, "span", 6);
|
|
369
365
|
i0.ɵɵtext(10, "*");
|
|
370
366
|
i0.ɵɵelementEnd();
|
|
371
367
|
i0.ɵɵtext(11, " are required. ");
|
|
372
368
|
i0.ɵɵelementEnd()();
|
|
373
|
-
i0.ɵɵconditionalCreate(12, TemplateParamDialogComponent_Conditional_0_Conditional_12_Template, 4, 0, "div",
|
|
369
|
+
i0.ɵɵconditionalCreate(12, TemplateParamDialogComponent_Conditional_0_Conditional_12_Template, 4, 0, "div", 7)(13, TemplateParamDialogComponent_Conditional_0_Conditional_13_Template, 20, 6);
|
|
374
370
|
i0.ɵɵelementEnd();
|
|
375
|
-
i0.ɵɵelementStart(14, "kendo-dialog-actions")(15, "div",
|
|
376
|
-
i0.ɵɵconditionalCreate(17, TemplateParamDialogComponent_Conditional_0_Conditional_17_Template, 3, 1, "button",
|
|
371
|
+
i0.ɵɵelementStart(14, "kendo-dialog-actions")(15, "div", 8)(16, "div");
|
|
372
|
+
i0.ɵɵconditionalCreate(17, TemplateParamDialogComponent_Conditional_0_Conditional_17_Template, 3, 1, "button", 9);
|
|
377
373
|
i0.ɵɵelementEnd();
|
|
378
|
-
i0.ɵɵelementStart(18, "div",
|
|
374
|
+
i0.ɵɵelementStart(18, "div", 10)(19, "button", 11);
|
|
379
375
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Template_button_click_19_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.close()); });
|
|
380
376
|
i0.ɵɵtext(20, " Close ");
|
|
381
377
|
i0.ɵɵelementEnd();
|
|
382
|
-
i0.ɵɵconditionalCreate(21, TemplateParamDialogComponent_Conditional_0_Conditional_21_Template, 3, 0, "button",
|
|
383
|
-
i0.ɵɵelementStart(22, "button",
|
|
378
|
+
i0.ɵɵconditionalCreate(21, TemplateParamDialogComponent_Conditional_0_Conditional_21_Template, 3, 0, "button", 12);
|
|
379
|
+
i0.ɵɵelementStart(22, "button", 13);
|
|
384
380
|
i0.ɵɵlistener("click", function TemplateParamDialogComponent_Conditional_0_Template_button_click_22_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.runTemplate()); });
|
|
385
381
|
i0.ɵɵconditionalCreate(23, TemplateParamDialogComponent_Conditional_0_Conditional_23_Template, 2, 0)(24, TemplateParamDialogComponent_Conditional_0_Conditional_24_Template, 2, 0);
|
|
386
382
|
i0.ɵɵelementEnd()()()()();
|
|
@@ -648,15 +644,15 @@ export class TemplateParamDialogComponent {
|
|
|
648
644
|
return JSON.stringify(contextData, null, 2);
|
|
649
645
|
}
|
|
650
646
|
static { this.ɵfac = function TemplateParamDialogComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TemplateParamDialogComponent)(); }; }
|
|
651
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplateParamDialogComponent, selectors: [["mj-template-param-dialog"]], inputs: { template: "template", isVisible: "isVisible" }, outputs: { isVisibleChange: "isVisibleChange", onClose: "onClose" }, standalone: false, decls: 1, vars: 1, consts: [[3, "minWidth", "width", "height", "title"], [3, "close", "minWidth", "width", "height", "title"], [1, "dialog-content", 2, "display", "flex", "flex-direction", "column", "height", "100%", "font-family", "'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"], [1, "header
|
|
647
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplateParamDialogComponent, selectors: [["mj-template-param-dialog"]], inputs: { template: "template", isVisible: "isVisible" }, outputs: { isVisibleChange: "isVisibleChange", onClose: "onClose" }, standalone: false, decls: 1, vars: 1, consts: [[3, "minWidth", "width", "height", "title"], [3, "close", "minWidth", "width", "height", "title"], [1, "dialog-content", 2, "display", "flex", "flex-direction", "column", "height", "100%", "font-family", "'Segoe UI', Tahoma, Geneva, Verdana, sans-serif"], [1, "dlg-header"], [1, "dlg-header-row"], [1, "fa-solid", "fa-sliders"], [1, "required-marker"], [1, "dlg-loading"], [2, "display", "flex", "justify-content", "space-between", "align-items", "center", "width", "100%"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 3, "disabled"], [2, "display", "flex", "gap", "8px"], ["kendoButton", "", "fillMode", "outline", 3, "click"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info"], ["kendoButton", "", "themeColor", "primary", 3, "click", "disabled"], [1, "fa-solid", "fa-spinner", "fa-spin"], [2, "margin-bottom", "16px", "flex-shrink", "0", 3, "expandedChange", "expanded"], ["kendoExpansionPanelTitleDirective", ""], [2, "padding", "12px 0"], [1, "dlg-info-text"], [1, "fa-solid", "fa-info-circle"], [1, "params-table"], [1, "no-params-state"], [1, "json-preview-box"], [2, "margin-bottom", "16px", "flex", "1", "display", "flex", "flex-direction", "column", 3, "expandedChange", "expanded"], [2, "padding", "12px 0", "flex", "1", "display", "flex", "flex-direction", "column"], [1, "dlg-loading", 2, "flex", "1"], [2, "flex", "1", "display", "flex", "flex-direction", "column"], [1, "no-results-state"], [1, "dlg-panel-title"], [1, "count-badge"], [1, "params-table-header"], [1, "params-table-row"], [1, "add-param-row"], ["kendoButton", "", "fillMode", "outline", "themeColor", "success", "size", "small", 3, "click", "disabled"], [1, "fa-solid", "fa-plus"], [1, "param-name", 2, "display", "flex", "flex-direction", "column"], [2, "display", "flex", "align-items", "center", "gap", "4px", "margin-bottom", "4px"], ["title", "From template definition", 1, "fa-solid", "fa-database", "param-source-icon-template"], ["title", "Custom parameter", 1, "fa-solid", "fa-edit", "param-source-icon-custom"], [1, "param-required-marker"], ["placeholder", "Parameter name...", 2, "font-family", "'Courier New', monospace", "width", "100%", 3, "ngModel", "disabled"], [1, "param-value"], ["placeholder", "Enter value (JSON strings, numbers, objects)...", 2, "font-family", "'Courier New', monospace", "font-size", "0.9em", "width", "100%", 3, "ngModelChange", "ngModel", "rows", "disabled"], [1, "param-actions"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove parameter", 3, "disabled"], [1, "param-key-text"], [1, "param-description-text"], [1, "param-type-text"], ["placeholder", "Parameter name...", 2, "font-family", "'Courier New', monospace", "width", "100%", 3, "ngModelChange", "ngModel", "disabled"], ["kendoButton", "", "fillMode", "flat", "themeColor", "error", "size", "small", "title", "Remove parameter", 3, "click", "disabled"], [1, "fa-solid", "fa-times"], ["kendoButton", "", "themeColor", "primary", "size", "small", 3, "click", "disabled"], [1, "fa-solid", "fa-code"], [1, "fa-solid", "fa-chart-line"], [1, "result-badge-success"], [1, "result-badge-error"], [1, "result-stats"], [1, "result-stat"], [1, "result-stat-label"], [1, "result-stat-value"], ["kendoButton", "", "fillMode", "flat", "size", "small", "title", "Save results to file", 2, "min-width", "auto", "padding", "4px 8px", 3, "click"], [1, "fa-solid", "fa-download"], [2, "margin-bottom", "12px", "flex", "1", "display", "flex", "flex-direction", "column"], [1, "output-header"], [1, "fa-solid", "fa-check-circle", "success-icon"], [1, "output-box"], [1, "fa-solid", "fa-exclamation-triangle", "error-icon"], [1, "error-output-box"], [2, "text-align", "center"], [1, "fa-solid", "fa-play-circle"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 3, "click", "disabled"], [1, "fa-solid", "fa-save"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 3, "click"], [1, "fa-solid", "fa-play"]], template: function TemplateParamDialogComponent_Template(rf, ctx) { if (rf & 1) {
|
|
652
648
|
i0.ɵɵconditionalCreate(0, TemplateParamDialogComponent_Conditional_0_Template, 25, 9, "kendo-dialog", 0);
|
|
653
649
|
} if (rf & 2) {
|
|
654
650
|
i0.ɵɵconditional(ctx._isVisible ? 0 : -1);
|
|
655
|
-
} }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.ExpansionPanelComponent, i2.ExpansionPanelTitleDirective, i3.DialogComponent, i3.DialogActionsComponent, i4.TextBoxComponent, i4.TextAreaComponent, i5.ButtonComponent], styles: [".dialog-content[_ngcontent-%COMP%] {\n min-height: 500px;\n max-height: 650px;\n}\n\n.parameter-row[_ngcontent-%COMP%]:hover {\n background-color: #f8f9fa !important;\n}\n\n.parameter-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.param-name[_ngcontent-%COMP%], \n.param-value[_ngcontent-%COMP%] {\n min-width: 0; \n\n}\n\n.param-name[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%], \n.param-value[_ngcontent-%COMP%] kendo-textarea[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.json-preview[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n line-height: 1.3;\n}\n\n.test-results[_ngcontent-%COMP%] {\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n\n.result-content[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n line-height: 1.4;\n}\n\n\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-track, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-track, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: #a1a1a1;\n}\n\n\n\n.parameter-row[_ngcontent-%COMP%] {\n align-items: flex-start;\n}\n\n.parameters-section[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n\n\n.param-name[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n\n\n.header-section[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child:hover, \n.json-preview-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child:hover, \n.result-header[_ngcontent-%COMP%]:hover {\n background-color: rgba(0, 0, 0, 0.05) !important;\n transition: background-color 0.2s ease;\n}\n\n\n\n.fa-chevron-down[_ngcontent-%COMP%], \n.fa-chevron-right[_ngcontent-%COMP%] {\n transition: transform 0.2s ease;\n}\n\n\n\n.test-results[_ngcontent-%COMP%] .result-header[_ngcontent-%COMP%] kendo-button[_ngcontent-%COMP%] {\n opacity: 0.8;\n transition: opacity 0.2s ease;\n}\n\n.test-results[_ngcontent-%COMP%] .result-header[_ngcontent-%COMP%]:hover kendo-button[_ngcontent-%COMP%] {\n opacity: 1;\n}"] }); }
|
|
651
|
+
} }, dependencies: [i1.NgControlStatus, i1.NgModel, i2.ExpansionPanelComponent, i2.ExpansionPanelTitleDirective, i3.DialogComponent, i3.DialogActionsComponent, i4.TextBoxComponent, i4.TextAreaComponent, i5.ButtonComponent], styles: [".dialog-content[_ngcontent-%COMP%] {\n min-height: 500px;\n max-height: 650px;\n}\n\n.parameter-row[_ngcontent-%COMP%]:hover {\n background-color: var(--mj-bg-surface-card) !important;\n}\n\n.parameter-row[_ngcontent-%COMP%]:last-child {\n border-bottom: none;\n}\n\n.param-name[_ngcontent-%COMP%], \n.param-value[_ngcontent-%COMP%] {\n min-width: 0;\n}\n\n.param-name[_ngcontent-%COMP%] kendo-textbox[_ngcontent-%COMP%], \n.param-value[_ngcontent-%COMP%] kendo-textarea[_ngcontent-%COMP%] {\n width: 100%;\n}\n\n.json-preview[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n line-height: 1.3;\n}\n\n.test-results[_ngcontent-%COMP%] {\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n}\n\n.result-content[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n line-height: 1.4;\n}\n\n\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar {\n width: 6px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-track, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-track, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.parameters-list[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover, \n.result-content[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover, \n.json-preview[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-muted);\n}\n\n.parameter-row[_ngcontent-%COMP%] {\n align-items: flex-start;\n}\n\n.parameters-section[_ngcontent-%COMP%] {\n flex-shrink: 0;\n}\n\n.param-name[_ngcontent-%COMP%] > div[_ngcontent-%COMP%] {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.header-section[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child:hover, \n.json-preview-header[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child:hover, \n.result-header[_ngcontent-%COMP%]:hover {\n background-color: var(--mj-bg-surface-card) !important;\n transition: background-color 0.2s ease;\n}\n\n.fa-chevron-down[_ngcontent-%COMP%], \n.fa-chevron-right[_ngcontent-%COMP%] {\n transition: transform 0.2s ease;\n}\n\n.test-results[_ngcontent-%COMP%] .result-header[_ngcontent-%COMP%] kendo-button[_ngcontent-%COMP%] {\n opacity: 0.8;\n transition: opacity 0.2s ease;\n}\n\n.test-results[_ngcontent-%COMP%] .result-header[_ngcontent-%COMP%]:hover kendo-button[_ngcontent-%COMP%] {\n opacity: 1;\n}\n\n\n\n.dlg-header[_ngcontent-%COMP%] {\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n.dlg-header-row[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.dlg-header-row[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: 1.2em;\n}\n\n.dlg-header-row[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.dlg-header[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.9em;\n}\n\n.dlg-header[_ngcontent-%COMP%] .required-marker[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n\n\n.dlg-loading[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px;\n}\n\n.dlg-loading[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 24px;\n color: var(--mj-text-muted);\n margin-right: 12px;\n}\n\n.dlg-loading[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n\n\n.dlg-panel-title[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.dlg-panel-title[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n}\n\n.dlg-panel-title[_ngcontent-%COMP%] .count-badge[_ngcontent-%COMP%] {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n}\n\n\n\n.dlg-info-text[_ngcontent-%COMP%] {\n margin-bottom: 12px;\n color: var(--mj-text-muted);\n font-size: 0.85em;\n}\n\n\n\n.params-table[_ngcontent-%COMP%] {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n}\n\n.params-table-header[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 200px 1fr 60px;\n gap: 12px;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken);\n font-weight: 600;\n font-size: 0.85em;\n color: var(--mj-text-secondary);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.params-table-row[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: 200px 1fr 60px;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n align-items: start;\n background: var(--mj-bg-surface);\n}\n\n.param-source-icon-template[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n font-size: 0.75em;\n}\n\n.param-source-icon-custom[_ngcontent-%COMP%] {\n color: var(--mj-status-warning);\n font-size: 0.75em;\n}\n\n.param-required-marker[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n font-weight: bold;\n}\n\n.param-key-text[_ngcontent-%COMP%] {\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n font-weight: 500;\n color: var(--mj-text-primary);\n padding: 4px 0;\n word-break: break-word;\n}\n\n.param-description-text[_ngcontent-%COMP%] {\n font-size: 0.75em;\n color: var(--mj-text-muted);\n margin-top: 2px;\n font-style: italic;\n word-break: break-word;\n}\n\n.param-type-text[_ngcontent-%COMP%] {\n font-size: 0.7em;\n color: var(--mj-brand-primary);\n margin-top: 2px;\n}\n\n.param-actions[_ngcontent-%COMP%] {\n display: flex;\n align-items: start;\n justify-content: center;\n padding-top: 4px;\n}\n\n\n\n.add-param-row[_ngcontent-%COMP%] {\n padding: 12px 16px;\n text-align: center;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n}\n\n\n\n.no-params-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 20px;\n color: var(--mj-text-muted);\n}\n\n.no-params-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 2em;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.no-params-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0 0 12px 0;\n}\n\n\n\n.json-preview-box[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 0.85em;\n color: var(--mj-text-primary);\n max-height: 200px;\n overflow-y: auto;\n}\n\n.json-preview-box[_ngcontent-%COMP%] pre[_ngcontent-%COMP%] {\n margin: 0;\n white-space: pre-wrap;\n}\n\n\n\n.result-badge-success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n border: 1px solid color-mix(in srgb, var(--mj-status-success) 30%, transparent);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n font-weight: 600;\n}\n\n.result-badge-error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n font-weight: 600;\n}\n\n\n\n.result-stats[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.result-stats.success[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-success) 10%, var(--mj-bg-surface));\n}\n\n.result-stats.error[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.result-stat[_ngcontent-%COMP%] {\n text-align: center;\n}\n\n.result-stat-label[_ngcontent-%COMP%] {\n font-size: 0.75em;\n margin-bottom: 2px;\n color: var(--mj-text-muted);\n}\n\n.result-stat-value[_ngcontent-%COMP%] {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n\n\n.output-header[_ngcontent-%COMP%] {\n margin: 0 0 8px 0;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.output-header[_ngcontent-%COMP%] .success-icon[_ngcontent-%COMP%] {\n color: var(--mj-status-success);\n}\n\n.output-header[_ngcontent-%COMP%] .error-icon[_ngcontent-%COMP%] {\n color: var(--mj-status-error);\n}\n\n.output-box[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n white-space: pre-wrap;\n overflow: auto;\n height: 150px;\n color: var(--mj-text-primary);\n}\n\n.error-output-box[_ngcontent-%COMP%] {\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 4px;\n padding: 12px;\n color: var(--mj-status-error);\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n white-space: pre-wrap;\n overflow: auto;\n height: 150px;\n}\n\n\n\n.no-results-state[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px;\n color: var(--mj-text-muted);\n flex: 1;\n}\n\n.no-results-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 3em;\n margin-bottom: 12px;\n opacity: 0.3;\n}\n\n.no-results-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n}"] }); }
|
|
656
652
|
}
|
|
657
653
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateParamDialogComponent, [{
|
|
658
654
|
type: Component,
|
|
659
|
-
args: [{ standalone: false, selector: 'mj-template-param-dialog', template: "@if (_isVisible) {\n <kendo-dialog\n [minWidth]=\"600\"\n [width]=\"800\"\n [height]=\"700\"\n (close)=\"close()\"\n [title]=\"'Test Template: ' + (template?.Name || 'Unknown')\">\n <div class=\"dialog-content\" style=\"display: flex; flex-direction: column; height: 100%; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">\n <!-- Header Section -->\n <div class=\"header-section\" style=\"margin-bottom: 20px; padding-bottom: 16px; border-bottom: 2px solid #e9ecef;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i class=\"fa-solid fa-sliders\" style=\"color: #6c757d; font-size: 1.2em;\"></i>\n <h5 style=\"margin: 0; color: #495057; font-weight: 600;\">Template Testing</h5>\n </div>\n <p style=\"margin: 0; color: #6c757d; font-size: 0.9em;\">\n Configure parameter values for testing. Parameters with <span style=\"color: #dc3545;\">*</span> are required.\n </p>\n </div>\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"loading-state\" style=\"display: flex; align-items: center; justify-content: center; padding: 40px;\">\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 24px; color: #6c757d; margin-right: 12px;\"></i>\n <span style=\"color: #6c757d;\">Loading template parameters...</span>\n </div>\n } @else {\n <!-- Template Parameters Section -->\n <kendo-expansionpanel\n [(expanded)]=\"parametersExpanded\"\n style=\"margin-bottom: 16px; flex-shrink: 0;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-sliders\" style=\"color: #6c757d;\"></i>\n Template Parameters\n @if (parameters.length > 0) {\n <span class=\"badge\" style=\"background: #17a2b8; color: white; padding: 2px 6px; border-radius: 10px; font-size: 0.7em;\">\n {{ parameters.length }}\n </span>\n }\n </span>\n </ng-template>\n <div style=\"padding: 12px 0;\">\n <div style=\"margin-bottom: 12px; color: #6c757d; font-size: 0.85em;\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Configure parameter values for template testing. Values can be JSON objects, strings, or numbers.\n </div>\n <!-- Parameters Table -->\n @if (parameters.length > 0) {\n <div style=\"border: 1px solid #dee2e6; border-radius: 6px; background: #f8f9fa;\">\n <!-- Header -->\n <div style=\"display: grid; grid-template-columns: 200px 1fr 60px; gap: 12px; padding: 12px 16px; background: #e9ecef; font-weight: 600; font-size: 0.85em; color: #495057; border-bottom: 1px solid #dee2e6;\">\n <div>Parameter Name</div>\n <div>Value</div>\n <div>Actions</div>\n </div>\n <!-- Parameter Rows -->\n @for (param of parameters; track $index; let i = $index) {\n <div style=\"display: grid; grid-template-columns: 200px 1fr 60px; gap: 12px; padding: 12px 16px; border-bottom: 1px solid #e9ecef; align-items: start; background: white;\">\n <!-- Parameter Name -->\n <div class=\"param-name\" style=\"display: flex; flex-direction: column;\">\n <div style=\"display: flex; align-items: center; gap: 4px; margin-bottom: 4px;\">\n @if (param.isFromTemplate) {\n <i class=\"fa-solid fa-database\" style=\"color: #28a745; font-size: 0.75em;\" title=\"From template definition\"></i>\n } @else {\n <i class=\"fa-solid fa-edit\" style=\"color: #fd7e14; font-size: 0.75em;\" title=\"Custom parameter\"></i>\n }\n @if (param.isRequired) {\n <span style=\"color: #dc3545; font-weight: bold;\">*</span>\n }\n </div>\n @if (param.isFromTemplate) {\n <div style=\"font-family: 'Courier New', monospace; font-size: 0.9em; font-weight: 500; color: #495057; padding: 4px 0; word-break: break-word;\">\n {{ param.key }}\n </div>\n @if (param.description) {\n <div style=\"font-size: 0.75em; color: #6c757d; margin-top: 2px; font-style: italic; word-break: break-word;\">\n {{ param.description }}\n </div>\n }\n @if (param.type && param.type !== 'Scalar') {\n <div style=\"font-size: 0.7em; color: #17a2b8; margin-top: 2px;\">\n Type: {{ param.type }}\n </div>\n }\n } @else {\n <kendo-textbox [(ngModel)]=\"param.key\"\n (ngModelChange)=\"onParameterChange()\"\n placeholder=\"Parameter name...\"\n [disabled]=\"isRunning\"\n style=\"font-family: 'Courier New', monospace; width: 100%;\">\n </kendo-textbox>\n }\n </div>\n <!-- Parameter Value -->\n <div class=\"param-value\">\n <kendo-textarea [(ngModel)]=\"param.value\"\n (ngModelChange)=\"onParameterChange()\"\n [rows]=\"2\"\n placeholder=\"Enter value (JSON strings, numbers, objects)...\"\n [disabled]=\"isRunning\"\n style=\"font-family: 'Courier New', monospace; font-size: 0.9em; width: 100%;\">\n </kendo-textarea>\n </div>\n <!-- Actions -->\n <div class=\"param-actions\" style=\"display: flex; align-items: start; justify-content: center; padding-top: 4px;\">\n @if (!param.isFromTemplate && parameters.length > 1) {\n <button kendoButton fillMode=\"flat\"\n themeColor=\"error\"\n size=\"small\"\n (click)=\"removeParameter(i)\"\n [disabled]=\"isRunning\"\n title=\"Remove parameter\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n }\n <!-- Add Parameter Row -->\n <div style=\"padding: 12px 16px; text-align: center; background: white; border-top: 1px solid #dee2e6;\">\n <button kendoButton fillMode=\"outline\"\n themeColor=\"success\"\n size=\"small\"\n (click)=\"addParameter()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-plus\"></i> Add Parameter\n </button>\n </div>\n </div>\n } @else {\n <div style=\"text-align: center; padding: 20px; color: #6c757d;\">\n <i class=\"fa-solid fa-info-circle\" style=\"font-size: 2em; margin-bottom: 12px; opacity: 0.5;\"></i>\n <p style=\"margin: 0 0 12px 0;\">No parameters defined yet</p>\n <button kendoButton themeColor=\"primary\" size=\"small\"\n (click)=\"addParameter()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-plus\"></i> Add First Parameter\n </button>\n </div>\n }\n </div>\n </kendo-expansionpanel>\n <!-- JSON Preview Section -->\n <kendo-expansionpanel\n [(expanded)]=\"jsonPreviewExpanded\"\n style=\"margin-bottom: 16px; flex-shrink: 0;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-code\" style=\"color: #6c757d;\"></i>\n Context Data (JSON)\n </span>\n </ng-template>\n <div style=\"padding: 12px 0;\">\n <div style=\"background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 12px; font-family: 'Courier New', monospace; font-size: 0.85em; color: #495057; max-height: 200px; overflow-y: auto;\">\n <pre style=\"margin: 0; white-space: pre-wrap;\">{{ parametersAsJson }}</pre>\n </div>\n </div>\n </kendo-expansionpanel>\n <!-- Test Results Section -->\n <kendo-expansionpanel\n [(expanded)]=\"resultsExpanded\"\n style=\"margin-bottom: 16px; flex: 1; display: flex; flex-direction: column;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-chart-line\" style=\"color: #6c757d;\"></i>\n Test Results\n @if (testResult) {\n <span class=\"badge\"\n [style.background]=\"testResult.success ? '#28a745' : '#dc3545'\"\n style=\"color: white; padding: 2px 6px; border-radius: 10px; font-size: 0.7em;\">\n {{ testResult.success ? 'Success' : 'Error' }}\n </span>\n }\n </span>\n </ng-template>\n <div style=\"padding: 12px 0; flex: 1; display: flex; flex-direction: column;\">\n @if (isRunning) {\n <div class=\"loading-state\" style=\"display: flex; align-items: center; justify-content: center; padding: 40px; flex: 1;\">\n <i class=\"fa-solid fa-spinner fa-spin\" style=\"font-size: 24px; color: #6c757d; margin-right: 12px;\"></i>\n <span style=\"color: #6c757d;\">Running template...</span>\n </div>\n } @else if (testResult) {\n <div style=\"flex: 1; display: flex; flex-direction: column;\">\n <!-- Result Header with Stats -->\n <div style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin-bottom: 16px; padding: 12px; border: 1px solid #dee2e6; border-radius: 6px;\"\n [style.background]=\"testResult.success ? '#d4edda' : '#f8d7da'\">\n <div style=\"text-align: center;\">\n <div style=\"font-size: 0.75em; margin-bottom: 2px;\" [style.color]=\"testResult.success ? '#155724' : '#721c24'\">STATUS</div>\n <div style=\"font-weight: 600;\" [style.color]=\"testResult.success ? '#155724' : '#721c24'\">\n {{ testResult.success ? 'Success' : 'Failed' }}\n </div>\n </div>\n @if (testResult.executionTimeMs) {\n <div style=\"text-align: center;\">\n <div style=\"font-size: 0.75em; margin-bottom: 2px;\" [style.color]=\"testResult.success ? '#155724' : '#721c24'\">EXECUTION TIME</div>\n <div style=\"font-weight: 600;\" [style.color]=\"testResult.success ? '#155724' : '#721c24'\">{{ testResult.executionTimeMs }}ms</div>\n </div>\n }\n <div style=\"text-align: center;\">\n <div style=\"font-size: 0.75em; margin-bottom: 2px;\" [style.color]=\"testResult.success ? '#155724' : '#721c24'\">ACTIONS</div>\n <button kendoButton fillMode=\"flat\" size=\"small\"\n (click)=\"saveResults()\"\n title=\"Save results to file\"\n style=\"min-width: auto; padding: 4px 8px;\">\n <i class=\"fa-solid fa-download\"></i>\n </button>\n </div>\n </div>\n <!-- Result Content -->\n <div style=\"flex: 1; display: flex; flex-direction: column;\">\n @if (testResult.success && testResult.output) {\n <div style=\"margin-bottom: 12px; flex: 1; display: flex; flex-direction: column;\">\n <h6 style=\"margin: 0 0 8px 0; color: #495057; display: flex; align-items: center; gap: 6px;\">\n <i class=\"fa-solid fa-check-circle\" style=\"color: #28a745;\"></i>\n Template Output\n </h6>\n <div style=\"background: #f8f9fa; border: 1px solid #dee2e6; border-radius: 4px; padding: 12px; font-family: 'Courier New', monospace; font-size: 0.9em; white-space: pre-wrap; overflow: auto; height: 150px;\">\n {{ testResult.output }}\n </div>\n </div>\n } @else if (!testResult.success && testResult.error) {\n <div style=\"margin-bottom: 12px; flex: 1; display: flex; flex-direction: column;\">\n <h6 style=\"margin: 0 0 8px 0; color: #dc3545; display: flex; align-items: center; gap: 6px;\">\n <i class=\"fa-solid fa-exclamation-triangle\"></i>\n Error Details\n </h6>\n <div style=\"background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 4px; padding: 12px; color: #721c24; font-family: 'Courier New', monospace; font-size: 0.9em; white-space: pre-wrap; overflow: auto; height: 150px;\">{{ testResult.error }}</div>\n </div>\n }\n </div>\n </div>\n } @else {\n <div style=\"display: flex; align-items: center; justify-content: center; padding: 40px; color: #6c757d; flex: 1;\">\n <div style=\"text-align: center;\">\n <i class=\"fa-solid fa-play-circle\" style=\"font-size: 3em; margin-bottom: 12px; opacity: 0.3;\"></i>\n <p style=\"margin: 0;\">No test results yet. Run the template to see results here.</p>\n </div>\n </div>\n }\n </div>\n </kendo-expansionpanel>\n }\n </div>\n <!-- Dialog Actions -->\n <kendo-dialog-actions>\n <div style=\"display: flex; justify-content: space-between; align-items: center; width: 100%;\">\n <div>\n @if (hasUnsavedParameters) {\n <button kendoButton fillMode=\"outline\"\n themeColor=\"info\"\n (click)=\"updateTemplateParams()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-save\"></i> Update Template Params\n </button>\n }\n </div>\n <div style=\"display: flex; gap: 8px;\">\n <button kendoButton fillMode=\"outline\" (click)=\"close()\">\n Close\n </button>\n @if (testResult) {\n <button kendoButton fillMode=\"outline\" themeColor=\"info\" (click)=\"saveResults()\">\n <i class=\"fa-solid fa-download\"></i> Save Results\n </button>\n }\n <button kendoButton themeColor=\"primary\"\n [disabled]=\"isRunning || isLoading\"\n (click)=\"runTemplate()\">\n @if (isRunning) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running...\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run Template\n }\n </button>\n </div>\n </div>\n </kendo-dialog-actions>\n </kendo-dialog>\n}", styles: [".dialog-content {\n min-height: 500px;\n max-height: 650px;\n}\n\n.parameter-row:hover {\n background-color: #f8f9fa !important;\n}\n\n.parameter-row:last-child {\n border-bottom: none;\n}\n\n.param-name,\n.param-value {\n min-width: 0; /* Allow flex items to shrink */\n}\n\n.param-name kendo-textbox,\n.param-value kendo-textarea {\n width: 100%;\n}\n\n.json-preview pre {\n line-height: 1.3;\n}\n\n.test-results {\n box-shadow: 0 2px 4px rgba(0,0,0,0.1);\n}\n\n.result-content pre {\n line-height: 1.4;\n}\n\n/* Improved scrollbar styling for better UX */\n.parameters-list::-webkit-scrollbar,\n.result-content::-webkit-scrollbar,\n.json-preview > div::-webkit-scrollbar {\n width: 6px;\n}\n\n.parameters-list::-webkit-scrollbar-track,\n.result-content::-webkit-scrollbar-track,\n.json-preview > div::-webkit-scrollbar-track {\n background: #f1f1f1;\n border-radius: 3px;\n}\n\n.parameters-list::-webkit-scrollbar-thumb,\n.result-content::-webkit-scrollbar-thumb,\n.json-preview > div::-webkit-scrollbar-thumb {\n background: #c1c1c1;\n border-radius: 3px;\n}\n\n.parameters-list::-webkit-scrollbar-thumb:hover,\n.result-content::-webkit-scrollbar-thumb:hover,\n.json-preview > div::-webkit-scrollbar-thumb:hover {\n background: #a1a1a1;\n}\n\n/* Ensure proper grid alignment */\n.parameter-row {\n align-items: flex-start;\n}\n\n.parameters-section {\n flex-shrink: 0;\n}\n\n/* Better text wrapping for parameter names and descriptions */\n.param-name > div {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n/* Expandable section headers */\n.header-section > div:first-child:hover,\n.json-preview-header > div:first-child:hover,\n.result-header:hover {\n background-color: rgba(0, 0, 0, 0.05) !important;\n transition: background-color 0.2s ease;\n}\n\n/* Chevron icons transition */\n.fa-chevron-down,\n.fa-chevron-right {\n transition: transform 0.2s ease;\n}\n\n/* Save button styling */\n.test-results .result-header kendo-button {\n opacity: 0.8;\n transition: opacity 0.2s ease;\n}\n\n.test-results .result-header:hover kendo-button {\n opacity: 1;\n}"] }]
|
|
655
|
+
args: [{ standalone: false, selector: 'mj-template-param-dialog', template: "@if (_isVisible) {\n <kendo-dialog\n [minWidth]=\"600\"\n [width]=\"800\"\n [height]=\"700\"\n (close)=\"close()\"\n [title]=\"'Test Template: ' + (template?.Name || 'Unknown')\">\n <div class=\"dialog-content\" style=\"display: flex; flex-direction: column; height: 100%; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;\">\n <!-- Header Section -->\n <div class=\"dlg-header\">\n <div class=\"dlg-header-row\">\n <i class=\"fa-solid fa-sliders\"></i>\n <h5>Template Testing</h5>\n </div>\n <p>\n Configure parameter values for testing. Parameters with <span class=\"required-marker\">*</span> are required.\n </p>\n </div>\n <!-- Loading State -->\n @if (isLoading) {\n <div class=\"dlg-loading\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Loading template parameters...</span>\n </div>\n } @else {\n <!-- Template Parameters Section -->\n <kendo-expansionpanel\n [(expanded)]=\"parametersExpanded\"\n style=\"margin-bottom: 16px; flex-shrink: 0;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span class=\"dlg-panel-title\">\n <i class=\"fa-solid fa-sliders\"></i>\n Template Parameters\n @if (parameters.length > 0) {\n <span class=\"count-badge\">\n {{ parameters.length }}\n </span>\n }\n </span>\n </ng-template>\n <div style=\"padding: 12px 0;\">\n <div class=\"dlg-info-text\">\n <i class=\"fa-solid fa-info-circle\"></i>\n Configure parameter values for template testing. Values can be JSON objects, strings, or numbers.\n </div>\n <!-- Parameters Table -->\n @if (parameters.length > 0) {\n <div class=\"params-table\">\n <!-- Header -->\n <div class=\"params-table-header\">\n <div>Parameter Name</div>\n <div>Value</div>\n <div>Actions</div>\n </div>\n <!-- Parameter Rows -->\n @for (param of parameters; track $index; let i = $index) {\n <div class=\"params-table-row\">\n <!-- Parameter Name -->\n <div class=\"param-name\" style=\"display: flex; flex-direction: column;\">\n <div style=\"display: flex; align-items: center; gap: 4px; margin-bottom: 4px;\">\n @if (param.isFromTemplate) {\n <i class=\"fa-solid fa-database param-source-icon-template\" title=\"From template definition\"></i>\n } @else {\n <i class=\"fa-solid fa-edit param-source-icon-custom\" title=\"Custom parameter\"></i>\n }\n @if (param.isRequired) {\n <span class=\"param-required-marker\">*</span>\n }\n </div>\n @if (param.isFromTemplate) {\n <div class=\"param-key-text\">\n {{ param.key }}\n </div>\n @if (param.description) {\n <div class=\"param-description-text\">\n {{ param.description }}\n </div>\n }\n @if (param.type && param.type !== 'Scalar') {\n <div class=\"param-type-text\">\n Type: {{ param.type }}\n </div>\n }\n } @else {\n <kendo-textbox [(ngModel)]=\"param.key\"\n (ngModelChange)=\"onParameterChange()\"\n placeholder=\"Parameter name...\"\n [disabled]=\"isRunning\"\n style=\"font-family: 'Courier New', monospace; width: 100%;\">\n </kendo-textbox>\n }\n </div>\n <!-- Parameter Value -->\n <div class=\"param-value\">\n <kendo-textarea [(ngModel)]=\"param.value\"\n (ngModelChange)=\"onParameterChange()\"\n [rows]=\"2\"\n placeholder=\"Enter value (JSON strings, numbers, objects)...\"\n [disabled]=\"isRunning\"\n style=\"font-family: 'Courier New', monospace; font-size: 0.9em; width: 100%;\">\n </kendo-textarea>\n </div>\n <!-- Actions -->\n <div class=\"param-actions\">\n @if (!param.isFromTemplate && parameters.length > 1) {\n <button kendoButton fillMode=\"flat\"\n themeColor=\"error\"\n size=\"small\"\n (click)=\"removeParameter(i)\"\n [disabled]=\"isRunning\"\n title=\"Remove parameter\">\n <i class=\"fa-solid fa-times\"></i>\n </button>\n }\n </div>\n </div>\n }\n <!-- Add Parameter Row -->\n <div class=\"add-param-row\">\n <button kendoButton fillMode=\"outline\"\n themeColor=\"success\"\n size=\"small\"\n (click)=\"addParameter()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-plus\"></i> Add Parameter\n </button>\n </div>\n </div>\n } @else {\n <div class=\"no-params-state\">\n <i class=\"fa-solid fa-info-circle\"></i>\n <p>No parameters defined yet</p>\n <button kendoButton themeColor=\"primary\" size=\"small\"\n (click)=\"addParameter()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-plus\"></i> Add First Parameter\n </button>\n </div>\n }\n </div>\n </kendo-expansionpanel>\n <!-- JSON Preview Section -->\n <kendo-expansionpanel\n [(expanded)]=\"jsonPreviewExpanded\"\n style=\"margin-bottom: 16px; flex-shrink: 0;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span class=\"dlg-panel-title\">\n <i class=\"fa-solid fa-code\"></i>\n Context Data (JSON)\n </span>\n </ng-template>\n <div style=\"padding: 12px 0;\">\n <div class=\"json-preview-box\">\n <pre>{{ parametersAsJson }}</pre>\n </div>\n </div>\n </kendo-expansionpanel>\n <!-- Test Results Section -->\n <kendo-expansionpanel\n [(expanded)]=\"resultsExpanded\"\n style=\"margin-bottom: 16px; flex: 1; display: flex; flex-direction: column;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span class=\"dlg-panel-title\">\n <i class=\"fa-solid fa-chart-line\"></i>\n Test Results\n @if (testResult) {\n @if (testResult.success) {\n <span class=\"result-badge-success\">Success</span>\n } @else {\n <span class=\"result-badge-error\">Error</span>\n }\n }\n </span>\n </ng-template>\n <div style=\"padding: 12px 0; flex: 1; display: flex; flex-direction: column;\">\n @if (isRunning) {\n <div class=\"dlg-loading\" style=\"flex: 1;\">\n <i class=\"fa-solid fa-spinner fa-spin\"></i>\n <span>Running template...</span>\n </div>\n } @else if (testResult) {\n <div style=\"flex: 1; display: flex; flex-direction: column;\">\n <!-- Result Header with Stats -->\n <div class=\"result-stats\" [class.success]=\"testResult.success\" [class.error]=\"!testResult.success\">\n <div class=\"result-stat\">\n <div class=\"result-stat-label\">STATUS</div>\n <div class=\"result-stat-value\">\n {{ testResult.success ? 'Success' : 'Failed' }}\n </div>\n </div>\n @if (testResult.executionTimeMs) {\n <div class=\"result-stat\">\n <div class=\"result-stat-label\">EXECUTION TIME</div>\n <div class=\"result-stat-value\">{{ testResult.executionTimeMs }}ms</div>\n </div>\n }\n <div class=\"result-stat\">\n <div class=\"result-stat-label\">ACTIONS</div>\n <button kendoButton fillMode=\"flat\" size=\"small\"\n (click)=\"saveResults()\"\n title=\"Save results to file\"\n style=\"min-width: auto; padding: 4px 8px;\">\n <i class=\"fa-solid fa-download\"></i>\n </button>\n </div>\n </div>\n <!-- Result Content -->\n <div style=\"flex: 1; display: flex; flex-direction: column;\">\n @if (testResult.success && testResult.output) {\n <div style=\"margin-bottom: 12px; flex: 1; display: flex; flex-direction: column;\">\n <h6 class=\"output-header\">\n <i class=\"fa-solid fa-check-circle success-icon\"></i>\n Template Output\n </h6>\n <div class=\"output-box\">\n {{ testResult.output }}\n </div>\n </div>\n } @else if (!testResult.success && testResult.error) {\n <div style=\"margin-bottom: 12px; flex: 1; display: flex; flex-direction: column;\">\n <h6 class=\"output-header\">\n <i class=\"fa-solid fa-exclamation-triangle error-icon\"></i>\n Error Details\n </h6>\n <div class=\"error-output-box\">{{ testResult.error }}</div>\n </div>\n }\n </div>\n </div>\n } @else {\n <div class=\"no-results-state\">\n <div style=\"text-align: center;\">\n <i class=\"fa-solid fa-play-circle\"></i>\n <p>No test results yet. Run the template to see results here.</p>\n </div>\n </div>\n }\n </div>\n </kendo-expansionpanel>\n }\n </div>\n <!-- Dialog Actions -->\n <kendo-dialog-actions>\n <div style=\"display: flex; justify-content: space-between; align-items: center; width: 100%;\">\n <div>\n @if (hasUnsavedParameters) {\n <button kendoButton fillMode=\"outline\"\n themeColor=\"info\"\n (click)=\"updateTemplateParams()\"\n [disabled]=\"isRunning\">\n <i class=\"fa-solid fa-save\"></i> Update Template Params\n </button>\n }\n </div>\n <div style=\"display: flex; gap: 8px;\">\n <button kendoButton fillMode=\"outline\" (click)=\"close()\">\n Close\n </button>\n @if (testResult) {\n <button kendoButton fillMode=\"outline\" themeColor=\"info\" (click)=\"saveResults()\">\n <i class=\"fa-solid fa-download\"></i> Save Results\n </button>\n }\n <button kendoButton themeColor=\"primary\"\n [disabled]=\"isRunning || isLoading\"\n (click)=\"runTemplate()\">\n @if (isRunning) {\n <i class=\"fa-solid fa-spinner fa-spin\"></i> Running...\n } @else {\n <i class=\"fa-solid fa-play\"></i> Run Template\n }\n </button>\n </div>\n </div>\n </kendo-dialog-actions>\n </kendo-dialog>\n}\n", styles: [".dialog-content {\n min-height: 500px;\n max-height: 650px;\n}\n\n.parameter-row:hover {\n background-color: var(--mj-bg-surface-card) !important;\n}\n\n.parameter-row:last-child {\n border-bottom: none;\n}\n\n.param-name,\n.param-value {\n min-width: 0;\n}\n\n.param-name kendo-textbox,\n.param-value kendo-textarea {\n width: 100%;\n}\n\n.json-preview pre {\n line-height: 1.3;\n}\n\n.test-results {\n box-shadow: 0 2px 4px var(--mj-shadow-sm);\n}\n\n.result-content pre {\n line-height: 1.4;\n}\n\n/* Scrollbar styling */\n.parameters-list::-webkit-scrollbar,\n.result-content::-webkit-scrollbar,\n.json-preview > div::-webkit-scrollbar {\n width: 6px;\n}\n\n.parameters-list::-webkit-scrollbar-track,\n.result-content::-webkit-scrollbar-track,\n.json-preview > div::-webkit-scrollbar-track {\n background: var(--mj-bg-surface-card);\n border-radius: 3px;\n}\n\n.parameters-list::-webkit-scrollbar-thumb,\n.result-content::-webkit-scrollbar-thumb,\n.json-preview > div::-webkit-scrollbar-thumb {\n background: var(--mj-border-strong);\n border-radius: 3px;\n}\n\n.parameters-list::-webkit-scrollbar-thumb:hover,\n.result-content::-webkit-scrollbar-thumb:hover,\n.json-preview > div::-webkit-scrollbar-thumb:hover {\n background: var(--mj-text-muted);\n}\n\n.parameter-row {\n align-items: flex-start;\n}\n\n.parameters-section {\n flex-shrink: 0;\n}\n\n.param-name > div {\n word-wrap: break-word;\n overflow-wrap: break-word;\n}\n\n.header-section > div:first-child:hover,\n.json-preview-header > div:first-child:hover,\n.result-header:hover {\n background-color: var(--mj-bg-surface-card) !important;\n transition: background-color 0.2s ease;\n}\n\n.fa-chevron-down,\n.fa-chevron-right {\n transition: transform 0.2s ease;\n}\n\n.test-results .result-header kendo-button {\n opacity: 0.8;\n transition: opacity 0.2s ease;\n}\n\n.test-results .result-header:hover kendo-button {\n opacity: 1;\n}\n\n/* Dialog header section */\n.dlg-header {\n margin-bottom: 20px;\n padding-bottom: 16px;\n border-bottom: 2px solid var(--mj-border-default);\n}\n\n.dlg-header-row {\n display: flex;\n align-items: center;\n gap: 12px;\n margin-bottom: 8px;\n}\n\n.dlg-header-row i {\n color: var(--mj-text-muted);\n font-size: 1.2em;\n}\n\n.dlg-header-row h5 {\n margin: 0;\n color: var(--mj-text-primary);\n font-weight: 600;\n}\n\n.dlg-header p {\n margin: 0;\n color: var(--mj-text-muted);\n font-size: 0.9em;\n}\n\n.dlg-header .required-marker {\n color: var(--mj-status-error);\n}\n\n/* Loading state */\n.dlg-loading {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px;\n}\n\n.dlg-loading i {\n font-size: 24px;\n color: var(--mj-text-muted);\n margin-right: 12px;\n}\n\n.dlg-loading span {\n color: var(--mj-text-muted);\n}\n\n/* Panel title */\n.dlg-panel-title {\n display: flex;\n align-items: center;\n gap: 8px;\n font-weight: 600;\n}\n\n.dlg-panel-title i {\n color: var(--mj-text-muted);\n}\n\n.dlg-panel-title .count-badge {\n background: var(--mj-brand-primary);\n color: var(--mj-text-inverse);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n}\n\n/* Info text */\n.dlg-info-text {\n margin-bottom: 12px;\n color: var(--mj-text-muted);\n font-size: 0.85em;\n}\n\n/* Parameters table */\n.params-table {\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n background: var(--mj-bg-surface-card);\n}\n\n.params-table-header {\n display: grid;\n grid-template-columns: 200px 1fr 60px;\n gap: 12px;\n padding: 12px 16px;\n background: var(--mj-bg-surface-sunken);\n font-weight: 600;\n font-size: 0.85em;\n color: var(--mj-text-secondary);\n border-bottom: 1px solid var(--mj-border-default);\n}\n\n.params-table-row {\n display: grid;\n grid-template-columns: 200px 1fr 60px;\n gap: 12px;\n padding: 12px 16px;\n border-bottom: 1px solid var(--mj-border-default);\n align-items: start;\n background: var(--mj-bg-surface);\n}\n\n.param-source-icon-template {\n color: var(--mj-status-success);\n font-size: 0.75em;\n}\n\n.param-source-icon-custom {\n color: var(--mj-status-warning);\n font-size: 0.75em;\n}\n\n.param-required-marker {\n color: var(--mj-status-error);\n font-weight: bold;\n}\n\n.param-key-text {\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n font-weight: 500;\n color: var(--mj-text-primary);\n padding: 4px 0;\n word-break: break-word;\n}\n\n.param-description-text {\n font-size: 0.75em;\n color: var(--mj-text-muted);\n margin-top: 2px;\n font-style: italic;\n word-break: break-word;\n}\n\n.param-type-text {\n font-size: 0.7em;\n color: var(--mj-brand-primary);\n margin-top: 2px;\n}\n\n.param-actions {\n display: flex;\n align-items: start;\n justify-content: center;\n padding-top: 4px;\n}\n\n/* Add parameter row */\n.add-param-row {\n padding: 12px 16px;\n text-align: center;\n background: var(--mj-bg-surface);\n border-top: 1px solid var(--mj-border-default);\n}\n\n/* No params state */\n.no-params-state {\n text-align: center;\n padding: 20px;\n color: var(--mj-text-muted);\n}\n\n.no-params-state i {\n font-size: 2em;\n margin-bottom: 12px;\n opacity: 0.5;\n}\n\n.no-params-state p {\n margin: 0 0 12px 0;\n}\n\n/* JSON preview */\n.json-preview-box {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 0.85em;\n color: var(--mj-text-primary);\n max-height: 200px;\n overflow-y: auto;\n}\n\n.json-preview-box pre {\n margin: 0;\n white-space: pre-wrap;\n}\n\n/* Result status badges */\n.result-badge-success {\n background: color-mix(in srgb, var(--mj-status-success) 15%, var(--mj-bg-surface));\n color: var(--mj-status-success);\n border: 1px solid color-mix(in srgb, var(--mj-status-success) 30%, transparent);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n font-weight: 600;\n}\n\n.result-badge-error {\n background: color-mix(in srgb, var(--mj-status-error) 15%, var(--mj-bg-surface));\n color: var(--mj-status-error);\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 30%, transparent);\n padding: 2px 6px;\n border-radius: 10px;\n font-size: 0.7em;\n font-weight: 600;\n}\n\n/* Result stats box */\n.result-stats {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));\n gap: 12px;\n margin-bottom: 16px;\n padding: 12px;\n border: 1px solid var(--mj-border-default);\n border-radius: 6px;\n}\n\n.result-stats.success {\n background: color-mix(in srgb, var(--mj-status-success) 10%, var(--mj-bg-surface));\n}\n\n.result-stats.error {\n background: color-mix(in srgb, var(--mj-status-error) 10%, var(--mj-bg-surface));\n}\n\n.result-stat {\n text-align: center;\n}\n\n.result-stat-label {\n font-size: 0.75em;\n margin-bottom: 2px;\n color: var(--mj-text-muted);\n}\n\n.result-stat-value {\n font-weight: 600;\n color: var(--mj-text-primary);\n}\n\n/* Output section */\n.output-header {\n margin: 0 0 8px 0;\n color: var(--mj-text-primary);\n display: flex;\n align-items: center;\n gap: 6px;\n}\n\n.output-header .success-icon {\n color: var(--mj-status-success);\n}\n\n.output-header .error-icon {\n color: var(--mj-status-error);\n}\n\n.output-box {\n background: var(--mj-bg-surface-card);\n border: 1px solid var(--mj-border-default);\n border-radius: 4px;\n padding: 12px;\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n white-space: pre-wrap;\n overflow: auto;\n height: 150px;\n color: var(--mj-text-primary);\n}\n\n.error-output-box {\n background: color-mix(in srgb, var(--mj-status-error) 8%, var(--mj-bg-surface));\n border: 1px solid color-mix(in srgb, var(--mj-status-error) 20%, var(--mj-bg-surface));\n border-radius: 4px;\n padding: 12px;\n color: var(--mj-status-error);\n font-family: 'Courier New', monospace;\n font-size: 0.9em;\n white-space: pre-wrap;\n overflow: auto;\n height: 150px;\n}\n\n/* No results state */\n.no-results-state {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 40px;\n color: var(--mj-text-muted);\n flex: 1;\n}\n\n.no-results-state i {\n font-size: 3em;\n margin-bottom: 12px;\n opacity: 0.3;\n}\n\n.no-results-state p {\n margin: 0;\n}\n"] }]
|
|
660
656
|
}], null, { template: [{
|
|
661
657
|
type: Input
|
|
662
658
|
}], isVisible: [{
|