@memberjunction/ng-core-entity-forms 2.53.0 → 2.54.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/ai-agent-form.component.d.ts +20 -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 +188 -40
- package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +5 -7
- package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +1 -0
- 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 +212 -293
- package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
- package/dist/lib/custom/Actions/action-form.component.js +6 -8
- package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts +25 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js +261 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-step-node.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts +73 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +510 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts +40 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +490 -0
- package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -0
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts +31 -2
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js +167 -65
- package/dist/lib/custom/ai-test-harness/agent-execution-monitor.component.js.map +1 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts +35 -2
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.d.ts.map +1 -1
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js +423 -247
- package/dist/lib/custom/ai-test-harness/ai-test-harness.component.js.map +1 -1
- package/dist/lib/custom/custom-forms.module.d.ts +25 -21
- package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
- package/dist/lib/custom/custom-forms.module.js +25 -2
- package/dist/lib/custom/custom-forms.module.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +10 -10
- package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +7 -9
- package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js +3 -5
- package/dist/lib/generated/Entities/AIAgentRunStep/aiagentrunstep.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.d.ts.map +1 -1
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js +13 -4
- package/dist/lib/generated/Entities/AIAgentRunStep/sections/details.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIAgentType/aiagenttype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +9 -9
- package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js +3 -5
- package/dist/lib/generated/Entities/AIModelCost/aimodelcost.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIModelPriceType/aimodelpricetype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js +5 -7
- package/dist/lib/generated/Entities/AIModelPriceUnitType/aimodelpriceunittype.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +13 -13
- package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +9 -9
- package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Action/action.form.component.js +5 -5
- package/dist/lib/generated/Entities/Action/action.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js +1 -1
- package/dist/lib/generated/Entities/ActionAuthorization/actionauthorization.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js +1 -1
- package/dist/lib/generated/Entities/ActionContext/actioncontext.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js +5 -5
- package/dist/lib/generated/Entities/Conversation/conversation.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js +4 -4
- package/dist/lib/generated/Entities/TemplateContent/templatecontent.form.component.js.map +1 -1
- package/dist/lib/generated/Entities/User/user.form.component.js +5 -5
- package/dist/lib/generated/Entities/User/user.form.component.js.map +1 -1
- package/package.json +12 -12
|
@@ -13,331 +13,186 @@ import { ActionExecutionLogFormComponent } from '../../generated/Entities/Action
|
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "@memberjunction/ng-shared";
|
|
15
15
|
import * as i2 from "@angular/router";
|
|
16
|
-
import * as i3 from "@angular/
|
|
17
|
-
import * as i4 from "@
|
|
18
|
-
import * as i5 from "@progress/kendo-angular-
|
|
19
|
-
import * as i6 from "@memberjunction/ng-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_14_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
25
|
-
i0.ɵɵelementStart(0, "div", 13);
|
|
26
|
-
i0.ɵɵelement(1, "i", 30);
|
|
27
|
-
i0.ɵɵelementStart(2, "span", 31);
|
|
28
|
-
i0.ɵɵtext(3, "Action:");
|
|
16
|
+
import * as i3 from "@angular/common";
|
|
17
|
+
import * as i4 from "@angular/forms";
|
|
18
|
+
import * as i5 from "@progress/kendo-angular-layout";
|
|
19
|
+
import * as i6 from "@memberjunction/ng-code-editor";
|
|
20
|
+
function ActionExecutionLogFormComponentExtended_Conditional_11_Template(rf, ctx) { if (rf & 1) {
|
|
21
|
+
i0.ɵɵelementStart(0, "span", 9);
|
|
22
|
+
i0.ɵɵtext(1);
|
|
29
23
|
i0.ɵɵelementEnd();
|
|
30
|
-
i0.ɵɵelementStart(4, "span", 32);
|
|
31
|
-
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_14_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.navigateToAction()); });
|
|
32
|
-
i0.ɵɵtext(5);
|
|
33
|
-
i0.ɵɵelement(6, "i", 33);
|
|
34
|
-
i0.ɵɵelementEnd()();
|
|
35
24
|
} if (rf & 2) {
|
|
36
|
-
const
|
|
37
|
-
i0.ɵɵadvance(
|
|
38
|
-
i0.ɵɵ
|
|
25
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
26
|
+
i0.ɵɵadvance();
|
|
27
|
+
i0.ɵɵtextInterpolate(ctx_r0.action.Name);
|
|
39
28
|
} }
|
|
40
|
-
function
|
|
41
|
-
|
|
42
|
-
i0.ɵɵ
|
|
43
|
-
i0.ɵɵelement(1, "i", 34);
|
|
44
|
-
i0.ɵɵelementStart(2, "span", 31);
|
|
45
|
-
i0.ɵɵtext(3, "User:");
|
|
29
|
+
function ActionExecutionLogFormComponentExtended_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
30
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
|
|
31
|
+
i0.ɵɵtext(2, "Ended");
|
|
46
32
|
i0.ɵɵelementEnd();
|
|
47
|
-
i0.ɵɵelementStart(
|
|
48
|
-
i0.ɵɵ
|
|
49
|
-
i0.ɵɵ
|
|
50
|
-
i0.ɵɵelement(6, "i", 33);
|
|
33
|
+
i0.ɵɵelementStart(3, "span", 19);
|
|
34
|
+
i0.ɵɵtext(4);
|
|
35
|
+
i0.ɵɵpipe(5, "date");
|
|
51
36
|
i0.ɵɵelementEnd()();
|
|
52
37
|
} if (rf & 2) {
|
|
53
|
-
const
|
|
54
|
-
i0.ɵɵadvance(
|
|
55
|
-
i0.ɵɵ
|
|
38
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
39
|
+
i0.ɵɵadvance(4);
|
|
40
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(5, 1, ctx_r0.record.EndedAt, "short"));
|
|
56
41
|
} }
|
|
57
|
-
function
|
|
58
|
-
i0.ɵɵ
|
|
59
|
-
i0.ɵɵ
|
|
60
|
-
i0.ɵɵ
|
|
61
|
-
i0.ɵɵtext(3, "Duration:");
|
|
42
|
+
function ActionExecutionLogFormComponentExtended_Conditional_29_Template(rf, ctx) { if (rf & 1) {
|
|
43
|
+
const _r2 = i0.ɵɵgetCurrentView();
|
|
44
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
|
|
45
|
+
i0.ɵɵtext(2, "Action");
|
|
62
46
|
i0.ɵɵelementEnd();
|
|
63
|
-
i0.ɵɵelementStart(
|
|
47
|
+
i0.ɵɵelementStart(3, "span", 19)(4, "button", 26);
|
|
48
|
+
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_29_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.navigateToAction()); });
|
|
64
49
|
i0.ɵɵtext(5);
|
|
65
|
-
i0.ɵɵ
|
|
50
|
+
i0.ɵɵelement(6, "i", 27);
|
|
51
|
+
i0.ɵɵelementEnd()()();
|
|
66
52
|
} if (rf & 2) {
|
|
67
|
-
const
|
|
53
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
68
54
|
i0.ɵɵadvance(5);
|
|
69
|
-
i0.ɵɵ
|
|
55
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.action.Name, " ");
|
|
70
56
|
} }
|
|
71
|
-
function
|
|
72
|
-
i0.ɵɵ
|
|
73
|
-
i0.ɵɵ
|
|
74
|
-
i0.ɵɵ
|
|
57
|
+
function ActionExecutionLogFormComponentExtended_Conditional_30_Template(rf, ctx) { if (rf & 1) {
|
|
58
|
+
const _r3 = i0.ɵɵgetCurrentView();
|
|
59
|
+
i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
|
|
60
|
+
i0.ɵɵtext(2, "User");
|
|
75
61
|
i0.ɵɵelementEnd();
|
|
62
|
+
i0.ɵɵelementStart(3, "span", 19)(4, "button", 26);
|
|
63
|
+
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_30_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.navigateToUser()); });
|
|
64
|
+
i0.ɵɵtext(5);
|
|
65
|
+
i0.ɵɵelement(6, "i", 27);
|
|
66
|
+
i0.ɵɵelementEnd()()();
|
|
76
67
|
} if (rf & 2) {
|
|
77
|
-
const
|
|
78
|
-
i0.ɵɵadvance();
|
|
79
|
-
i0.ɵɵtextInterpolate1("
|
|
80
|
-
} }
|
|
81
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_22_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
-
i0.ɵɵelementStart(0, "div", 15);
|
|
83
|
-
i0.ɵɵtext(1, "Still Running...");
|
|
84
|
-
i0.ɵɵelementEnd();
|
|
85
|
-
} }
|
|
86
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_25_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
-
i0.ɵɵelementStart(0, "span", 37);
|
|
88
|
-
i0.ɵɵelement(1, "i", 38);
|
|
89
|
-
i0.ɵɵtext(2, " Execution Details ");
|
|
90
|
-
i0.ɵɵelementEnd();
|
|
68
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
69
|
+
i0.ɵɵadvance(5);
|
|
70
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.user.Name, " ");
|
|
91
71
|
} }
|
|
92
|
-
function
|
|
93
|
-
i0.ɵɵelementStart(0, "
|
|
94
|
-
i0.ɵɵtext(
|
|
72
|
+
function ActionExecutionLogFormComponentExtended_ng_template_34_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
+
i0.ɵɵelementStart(0, "div", 28)(1, "div", 29)(2, "label");
|
|
74
|
+
i0.ɵɵtext(3, "Execution ID");
|
|
95
75
|
i0.ɵɵelementEnd();
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
i0.ɵɵ
|
|
99
|
-
i0.ɵɵ
|
|
100
|
-
i0.ɵɵtext(
|
|
101
|
-
i0.ɵɵtemplate(3, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_56_Conditional_3_Template, 2, 0, "span", 40);
|
|
76
|
+
i0.ɵɵelementStart(4, "span", 30);
|
|
77
|
+
i0.ɵɵtext(5);
|
|
78
|
+
i0.ɵɵelementEnd()();
|
|
79
|
+
i0.ɵɵelementStart(6, "div", 29)(7, "label");
|
|
80
|
+
i0.ɵɵtext(8, "Action ID");
|
|
102
81
|
i0.ɵɵelementEnd();
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
i0.ɵɵ
|
|
106
|
-
i0.ɵɵ
|
|
107
|
-
|
|
108
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
110
|
-
i0.ɵɵelementStart(0, "kendo-button", 45);
|
|
111
|
-
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Conditional_4_Template_kendo_button_click_0_listener() { i0.ɵɵrestoreView(_r5); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.saveParams()); });
|
|
112
|
-
i0.ɵɵelement(1, "i", 46);
|
|
113
|
-
i0.ɵɵtext(2, " Save ");
|
|
82
|
+
i0.ɵɵelementStart(9, "span", 30);
|
|
83
|
+
i0.ɵɵtext(10);
|
|
84
|
+
i0.ɵɵelementEnd()();
|
|
85
|
+
i0.ɵɵelementStart(11, "div", 29)(12, "label");
|
|
86
|
+
i0.ɵɵtext(13, "User ID");
|
|
114
87
|
i0.ɵɵelementEnd();
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
i0.ɵɵelementStart(
|
|
119
|
-
i0.ɵɵtext(
|
|
88
|
+
i0.ɵɵelementStart(14, "span", 30);
|
|
89
|
+
i0.ɵɵtext(15);
|
|
90
|
+
i0.ɵɵelementEnd()();
|
|
91
|
+
i0.ɵɵelementStart(16, "div", 29)(17, "label");
|
|
92
|
+
i0.ɵɵtext(18, "Result Code");
|
|
120
93
|
i0.ɵɵelementEnd();
|
|
121
|
-
i0.ɵɵ
|
|
94
|
+
i0.ɵɵelementStart(19, "span", 31);
|
|
95
|
+
i0.ɵɵelement(20, "i", 13);
|
|
96
|
+
i0.ɵɵelementStart(21, "span");
|
|
97
|
+
i0.ɵɵtext(22);
|
|
98
|
+
i0.ɵɵelementEnd()()();
|
|
99
|
+
i0.ɵɵelementStart(23, "div", 29)(24, "label");
|
|
100
|
+
i0.ɵɵtext(25, "Duration");
|
|
122
101
|
i0.ɵɵelementEnd();
|
|
123
|
-
i0.ɵɵelementStart(
|
|
124
|
-
i0.ɵɵ
|
|
102
|
+
i0.ɵɵelementStart(26, "span");
|
|
103
|
+
i0.ɵɵtext(27);
|
|
125
104
|
i0.ɵɵelementEnd()();
|
|
105
|
+
i0.ɵɵelementStart(28, "div", 29)(29, "label");
|
|
106
|
+
i0.ɵɵtext(30, "Retention Period");
|
|
107
|
+
i0.ɵɵelementEnd();
|
|
108
|
+
i0.ɵɵelementStart(31, "span");
|
|
109
|
+
i0.ɵɵtext(32);
|
|
110
|
+
i0.ɵɵelementEnd()()();
|
|
126
111
|
} if (rf & 2) {
|
|
127
|
-
const
|
|
128
|
-
i0.ɵɵadvance(
|
|
129
|
-
i0.ɵɵ
|
|
112
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
113
|
+
i0.ɵɵadvance(5);
|
|
114
|
+
i0.ɵɵtextInterpolate(ctx_r0.record.ID);
|
|
115
|
+
i0.ɵɵadvance(5);
|
|
116
|
+
i0.ɵɵtextInterpolate(ctx_r0.record.ActionID);
|
|
117
|
+
i0.ɵɵadvance(5);
|
|
118
|
+
i0.ɵɵtextInterpolate(ctx_r0.record.UserID);
|
|
119
|
+
i0.ɵɵadvance(5);
|
|
120
|
+
i0.ɵɵstyleProp("color", ctx_r0.getResultCodeColor());
|
|
121
|
+
i0.ɵɵproperty("ngClass", ctx_r0.getResultCodeIcon());
|
|
130
122
|
i0.ɵɵadvance();
|
|
131
|
-
i0.ɵɵ
|
|
132
|
-
i0.ɵɵ
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
i0.ɵɵ
|
|
136
|
-
i0.ɵɵ
|
|
137
|
-
i0.ɵɵ
|
|
138
|
-
i0.ɵɵtext(3, "No input parameters");
|
|
139
|
-
i0.ɵɵelementEnd()();
|
|
140
|
-
} }
|
|
141
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_61_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
142
|
-
i0.ɵɵelementStart(0, "span", 50);
|
|
143
|
-
i0.ɵɵtext(1, " JSON ");
|
|
144
|
-
i0.ɵɵelementEnd();
|
|
123
|
+
i0.ɵɵstyleProp("color", ctx_r0.getResultCodeColor());
|
|
124
|
+
i0.ɵɵadvance();
|
|
125
|
+
i0.ɵɵtextInterpolate(ctx_r0.record.ResultCode || "N/A");
|
|
126
|
+
i0.ɵɵadvance(5);
|
|
127
|
+
i0.ɵɵtextInterpolate(ctx_r0.formatDuration(ctx_r0.getExecutionDuration()));
|
|
128
|
+
i0.ɵɵadvance(5);
|
|
129
|
+
i0.ɵɵtextInterpolate(ctx_r0.record.RetentionPeriod ? ctx_r0.record.RetentionPeriod + " days" : "Indefinite");
|
|
145
130
|
} }
|
|
146
|
-
function
|
|
147
|
-
i0.ɵɵ
|
|
148
|
-
i0.ɵɵ
|
|
149
|
-
i0.ɵɵtext(
|
|
150
|
-
i0.ɵɵtemplate(3, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_61_Conditional_3_Template, 2, 0, "span", 50);
|
|
131
|
+
function ActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
132
|
+
const _r4 = i0.ɵɵgetCurrentView();
|
|
133
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "div", 33)(2, "span", 34);
|
|
134
|
+
i0.ɵɵtext(3, "JSON");
|
|
151
135
|
i0.ɵɵelementEnd();
|
|
136
|
+
i0.ɵɵelementStart(4, "button", 35);
|
|
137
|
+
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedParams)); });
|
|
138
|
+
i0.ɵɵelement(5, "i", 36);
|
|
139
|
+
i0.ɵɵelementEnd()();
|
|
140
|
+
i0.ɵɵelementStart(6, "mj-code-editor", 37);
|
|
141
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template_mj_code_editor_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedParams, $event) || (ctx_r0.formattedParams = $event); return i0.ɵɵresetView($event); });
|
|
142
|
+
i0.ɵɵelementEnd()();
|
|
152
143
|
} if (rf & 2) {
|
|
153
|
-
const
|
|
154
|
-
i0.ɵɵadvance(
|
|
155
|
-
i0.ɵɵ
|
|
144
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
145
|
+
i0.ɵɵadvance(6);
|
|
146
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedParams);
|
|
147
|
+
i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
|
|
156
148
|
} }
|
|
157
|
-
function
|
|
158
|
-
|
|
159
|
-
i0.ɵɵ
|
|
160
|
-
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Conditional_4_Template_kendo_button_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.saveMessage()); });
|
|
161
|
-
i0.ɵɵelement(1, "i", 46);
|
|
162
|
-
i0.ɵɵtext(2, " Save ");
|
|
149
|
+
function ActionExecutionLogFormComponentExtended_Conditional_35_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
+
i0.ɵɵelementStart(0, "kendo-panelbar-item", 23);
|
|
151
|
+
i0.ɵɵtemplate(1, ActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template, 7, 4, "ng-template", 22);
|
|
163
152
|
i0.ɵɵelementEnd();
|
|
153
|
+
} if (rf & 2) {
|
|
154
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
155
|
+
i0.ɵɵproperty("expanded", ctx_r0.expandedSections.input);
|
|
164
156
|
} }
|
|
165
|
-
function
|
|
166
|
-
const
|
|
167
|
-
i0.ɵɵelementStart(0, "div",
|
|
168
|
-
i0.ɵɵtext(3, "
|
|
169
|
-
i0.ɵɵelementEnd();
|
|
170
|
-
i0.ɵɵtemplate(4, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Conditional_4_Template, 3, 0, "kendo-button", 43);
|
|
157
|
+
function ActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
158
|
+
const _r5 = i0.ɵɵgetCurrentView();
|
|
159
|
+
i0.ɵɵelementStart(0, "div", 32)(1, "div", 33)(2, "span", 34);
|
|
160
|
+
i0.ɵɵtext(3, "JSON");
|
|
171
161
|
i0.ɵɵelementEnd();
|
|
172
|
-
i0.ɵɵelementStart(
|
|
173
|
-
i0.ɵɵ
|
|
162
|
+
i0.ɵɵelementStart(4, "button", 35);
|
|
163
|
+
i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedMessage)); });
|
|
164
|
+
i0.ɵɵelement(5, "i", 36);
|
|
165
|
+
i0.ɵɵelementEnd()();
|
|
166
|
+
i0.ɵɵelementStart(6, "mj-code-editor", 38);
|
|
167
|
+
i0.ɵɵtwoWayListener("ngModelChange", function ActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template_mj_code_editor_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedMessage, $event) || (ctx_r0.formattedMessage = $event); return i0.ɵɵresetView($event); });
|
|
174
168
|
i0.ɵɵelementEnd()();
|
|
175
169
|
} if (rf & 2) {
|
|
176
|
-
const
|
|
177
|
-
i0.ɵɵadvance(
|
|
178
|
-
i0.ɵɵ
|
|
179
|
-
i0.ɵɵ
|
|
180
|
-
i0.ɵɵtwoWayProperty("ngModel", ctx_r1.formattedMessage);
|
|
181
|
-
i0.ɵɵproperty("readonly", !ctx_r1.EditMode)("language", "json")("lineWrapping", true);
|
|
182
|
-
} }
|
|
183
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_64_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
-
i0.ɵɵelementStart(0, "p", 52);
|
|
185
|
-
i0.ɵɵtext(1, " Output data will be captured in future executions ");
|
|
186
|
-
i0.ɵɵelementEnd();
|
|
170
|
+
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
171
|
+
i0.ɵɵadvance(6);
|
|
172
|
+
i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedMessage);
|
|
173
|
+
i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
|
|
187
174
|
} }
|
|
188
|
-
function
|
|
189
|
-
i0.ɵɵelementStart(0, "
|
|
190
|
-
i0.ɵɵ
|
|
191
|
-
i0.ɵɵelementStart(2, "p", 48);
|
|
192
|
-
i0.ɵɵtext(3, "No output message");
|
|
193
|
-
i0.ɵɵelementEnd();
|
|
194
|
-
i0.ɵɵtemplate(4, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_64_Conditional_4_Template, 2, 0, "p", 52);
|
|
175
|
+
function ActionExecutionLogFormComponentExtended_Conditional_36_Template(rf, ctx) { if (rf & 1) {
|
|
176
|
+
i0.ɵɵelementStart(0, "kendo-panelbar-item", 24);
|
|
177
|
+
i0.ɵɵtemplate(1, ActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template, 7, 4, "ng-template", 22);
|
|
195
178
|
i0.ɵɵelementEnd();
|
|
196
179
|
} if (rf & 2) {
|
|
197
|
-
const
|
|
198
|
-
i0.ɵɵ
|
|
199
|
-
i0.ɵɵconditional(!ctx_r1.EditMode ? 4 : -1);
|
|
180
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
181
|
+
i0.ɵɵproperty("expanded", ctx_r0.expandedSections.output);
|
|
200
182
|
} }
|
|
201
|
-
function
|
|
202
|
-
i0.ɵɵelementStart(0, "
|
|
203
|
-
i0.ɵɵelement(1, "i",
|
|
204
|
-
i0.ɵɵ
|
|
205
|
-
i0.ɵɵ
|
|
206
|
-
} }
|
|
207
|
-
function ActionExecutionLogFormComponentExtended_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
208
|
-
i0.ɵɵelementStart(0, "form", 2, 0);
|
|
209
|
-
i0.ɵɵelement(2, "mj-form-toolbar", 3);
|
|
210
|
-
i0.ɵɵelementStart(3, "div", 4)(4, "div", 5)(5, "div", 6)(6, "div", 7)(7, "div", 8);
|
|
211
|
-
i0.ɵɵelement(8, "i", 9);
|
|
212
|
-
i0.ɵɵelementStart(9, "h4", 10);
|
|
213
|
-
i0.ɵɵtext(10);
|
|
214
|
-
i0.ɵɵelementEnd();
|
|
215
|
-
i0.ɵɵelementStart(11, "span", 11);
|
|
216
|
-
i0.ɵɵtext(12);
|
|
217
|
-
i0.ɵɵelementEnd()();
|
|
218
|
-
i0.ɵɵelementStart(13, "div", 12);
|
|
219
|
-
i0.ɵɵtemplate(14, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_14_Template, 7, 1, "div", 13)(15, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_15_Template, 7, 1, "div", 13)(16, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_16_Template, 6, 1, "div", 13);
|
|
220
|
-
i0.ɵɵelementEnd()();
|
|
221
|
-
i0.ɵɵelementStart(17, "div", 14)(18, "div");
|
|
222
|
-
i0.ɵɵtext(19);
|
|
223
|
-
i0.ɵɵpipe(20, "date");
|
|
224
|
-
i0.ɵɵelementEnd();
|
|
225
|
-
i0.ɵɵtemplate(21, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_21_Template, 3, 4, "div")(22, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_22_Template, 2, 0, "div", 15);
|
|
226
|
-
i0.ɵɵelementEnd()()();
|
|
227
|
-
i0.ɵɵelementStart(23, "div", 16)(24, "kendo-expansionpanel", 17);
|
|
228
|
-
i0.ɵɵtemplate(25, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_25_Template, 3, 0, "ng-template", 18);
|
|
229
|
-
i0.ɵɵelementStart(26, "div", 19)(27, "div", 20)(28, "div", 21)(29, "label", 22);
|
|
230
|
-
i0.ɵɵtext(30, "Execution ID");
|
|
231
|
-
i0.ɵɵelementEnd();
|
|
232
|
-
i0.ɵɵelementStart(31, "div", 23);
|
|
233
|
-
i0.ɵɵtext(32);
|
|
234
|
-
i0.ɵɵelementEnd()();
|
|
235
|
-
i0.ɵɵelementStart(33, "div", 21)(34, "label", 22);
|
|
236
|
-
i0.ɵɵtext(35, "Action ID");
|
|
237
|
-
i0.ɵɵelementEnd();
|
|
238
|
-
i0.ɵɵelementStart(36, "div", 23);
|
|
239
|
-
i0.ɵɵtext(37);
|
|
240
|
-
i0.ɵɵelementEnd()();
|
|
241
|
-
i0.ɵɵelementStart(38, "div", 21)(39, "label", 22);
|
|
242
|
-
i0.ɵɵtext(40, "User ID");
|
|
243
|
-
i0.ɵɵelementEnd();
|
|
244
|
-
i0.ɵɵelementStart(41, "div", 23);
|
|
245
|
-
i0.ɵɵtext(42);
|
|
246
|
-
i0.ɵɵelementEnd()();
|
|
247
|
-
i0.ɵɵelementStart(43, "div", 21)(44, "label", 22);
|
|
248
|
-
i0.ɵɵtext(45, "Result Code");
|
|
249
|
-
i0.ɵɵelementEnd();
|
|
250
|
-
i0.ɵɵelementStart(46, "div", 24);
|
|
251
|
-
i0.ɵɵelement(47, "i");
|
|
252
|
-
i0.ɵɵelementStart(48, "span", 25);
|
|
253
|
-
i0.ɵɵtext(49);
|
|
254
|
-
i0.ɵɵelementEnd()()();
|
|
255
|
-
i0.ɵɵelementStart(50, "div", 21)(51, "label", 22);
|
|
256
|
-
i0.ɵɵtext(52, "Retention Period");
|
|
257
|
-
i0.ɵɵelementEnd();
|
|
258
|
-
i0.ɵɵelementStart(53, "div");
|
|
259
|
-
i0.ɵɵtext(54);
|
|
260
|
-
i0.ɵɵelementEnd()()()()();
|
|
261
|
-
i0.ɵɵelementStart(55, "kendo-expansionpanel", 17);
|
|
262
|
-
i0.ɵɵtemplate(56, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_56_Template, 4, 1, "ng-template", 18);
|
|
263
|
-
i0.ɵɵelementStart(57, "div", 19);
|
|
264
|
-
i0.ɵɵtemplate(58, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Template, 6, 5, "div", 26)(59, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_59_Template, 4, 0, "div", 27);
|
|
265
|
-
i0.ɵɵelementEnd()();
|
|
266
|
-
i0.ɵɵelementStart(60, "kendo-expansionpanel", 17);
|
|
267
|
-
i0.ɵɵtemplate(61, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_61_Template, 4, 1, "ng-template", 18);
|
|
268
|
-
i0.ɵɵelementStart(62, "div", 19);
|
|
269
|
-
i0.ɵɵtemplate(63, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Template, 6, 5, "div", 26)(64, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_64_Template, 5, 1, "div", 27);
|
|
270
|
-
i0.ɵɵelementEnd()();
|
|
271
|
-
i0.ɵɵelementStart(65, "kendo-expansionpanel", 17);
|
|
272
|
-
i0.ɵɵtemplate(66, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_66_Template, 3, 0, "ng-template", 18);
|
|
273
|
-
i0.ɵɵelementStart(67, "div", 19)(68, "div", 28)(69, "div", 29)(70, "label", 22);
|
|
274
|
-
i0.ɵɵtext(71, "Created At");
|
|
275
|
-
i0.ɵɵelementEnd();
|
|
276
|
-
i0.ɵɵelementStart(72, "div");
|
|
277
|
-
i0.ɵɵtext(73);
|
|
278
|
-
i0.ɵɵpipe(74, "date");
|
|
183
|
+
function ActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
184
|
+
i0.ɵɵelementStart(0, "div", 39);
|
|
185
|
+
i0.ɵɵelement(1, "i", 40);
|
|
186
|
+
i0.ɵɵelementStart(2, "p");
|
|
187
|
+
i0.ɵɵtext(3, "No input parameters or output messages recorded");
|
|
279
188
|
i0.ɵɵelementEnd()();
|
|
280
|
-
|
|
281
|
-
|
|
189
|
+
} }
|
|
190
|
+
function ActionExecutionLogFormComponentExtended_Conditional_37_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
+
i0.ɵɵelementStart(0, "kendo-panelbar-item", 25);
|
|
192
|
+
i0.ɵɵtemplate(1, ActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template, 4, 0, "ng-template", 22);
|
|
282
193
|
i0.ɵɵelementEnd();
|
|
283
|
-
i0.ɵɵelementStart(78, "div");
|
|
284
|
-
i0.ɵɵtext(79);
|
|
285
|
-
i0.ɵɵpipe(80, "date");
|
|
286
|
-
i0.ɵɵelementEnd()()()()()()()();
|
|
287
194
|
} if (rf & 2) {
|
|
288
|
-
|
|
289
|
-
i0.ɵɵadvance(2);
|
|
290
|
-
i0.ɵɵproperty("form", ctx_r1);
|
|
291
|
-
i0.ɵɵadvance(6);
|
|
292
|
-
i0.ɵɵclassMap("fa-solid " + ctx_r1.getResultCodeIcon());
|
|
293
|
-
i0.ɵɵstyleProp("color", ctx_r1.getResultCodeColor());
|
|
294
|
-
i0.ɵɵadvance(2);
|
|
295
|
-
i0.ɵɵtextInterpolate1(" Execution #", ctx_r1.record.ID, " ");
|
|
296
|
-
i0.ɵɵadvance();
|
|
297
|
-
i0.ɵɵstyleProp("background-color", ctx_r1.getResultCodeColor());
|
|
298
|
-
i0.ɵɵadvance();
|
|
299
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.record.ResultCode || "Unknown", " ");
|
|
300
|
-
i0.ɵɵadvance(2);
|
|
301
|
-
i0.ɵɵconditional(ctx_r1.action ? 14 : -1);
|
|
302
|
-
i0.ɵɵadvance();
|
|
303
|
-
i0.ɵɵconditional(ctx_r1.user ? 15 : -1);
|
|
304
|
-
i0.ɵɵadvance();
|
|
305
|
-
i0.ɵɵconditional(ctx_r1.record.EndedAt ? 16 : -1);
|
|
306
|
-
i0.ɵɵadvance(3);
|
|
307
|
-
i0.ɵɵtextInterpolate1("Started: ", i0.ɵɵpipeBind2(20, 33, ctx_r1.record.StartedAt, "medium"), "");
|
|
308
|
-
i0.ɵɵadvance(2);
|
|
309
|
-
i0.ɵɵconditional(ctx_r1.record.EndedAt ? 21 : 22);
|
|
310
|
-
i0.ɵɵadvance(3);
|
|
311
|
-
i0.ɵɵproperty("expanded", ctx_r1.expandedSections.execution);
|
|
312
|
-
i0.ɵɵadvance(8);
|
|
313
|
-
i0.ɵɵtextInterpolate(ctx_r1.record.ID);
|
|
314
|
-
i0.ɵɵadvance(5);
|
|
315
|
-
i0.ɵɵtextInterpolate(ctx_r1.record.ActionID);
|
|
316
|
-
i0.ɵɵadvance(5);
|
|
317
|
-
i0.ɵɵtextInterpolate(ctx_r1.record.UserID);
|
|
318
|
-
i0.ɵɵadvance(5);
|
|
319
|
-
i0.ɵɵclassMap("fa-solid " + ctx_r1.getResultCodeIcon());
|
|
320
|
-
i0.ɵɵstyleProp("color", ctx_r1.getResultCodeColor());
|
|
321
|
-
i0.ɵɵadvance();
|
|
322
|
-
i0.ɵɵstyleProp("color", ctx_r1.getResultCodeColor());
|
|
323
|
-
i0.ɵɵadvance();
|
|
324
|
-
i0.ɵɵtextInterpolate(ctx_r1.record.ResultCode || "N/A");
|
|
325
|
-
i0.ɵɵadvance(5);
|
|
326
|
-
i0.ɵɵtextInterpolate(ctx_r1.record.RetentionPeriod ? ctx_r1.record.RetentionPeriod + " days" : "Indefinite");
|
|
327
|
-
i0.ɵɵadvance();
|
|
328
|
-
i0.ɵɵproperty("expanded", ctx_r1.expandedSections.input);
|
|
329
|
-
i0.ɵɵadvance(3);
|
|
330
|
-
i0.ɵɵconditional(ctx_r1.record.Params ? 58 : 59);
|
|
331
|
-
i0.ɵɵadvance(2);
|
|
332
|
-
i0.ɵɵproperty("expanded", ctx_r1.expandedSections.output);
|
|
333
|
-
i0.ɵɵadvance(3);
|
|
334
|
-
i0.ɵɵconditional(ctx_r1.formattedMessage ? 63 : 64);
|
|
335
|
-
i0.ɵɵadvance(2);
|
|
336
|
-
i0.ɵɵproperty("expanded", ctx_r1.expandedSections.metadata);
|
|
337
|
-
i0.ɵɵadvance(8);
|
|
338
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(74, 36, ctx_r1.record.__mj_CreatedAt, "medium"));
|
|
339
|
-
i0.ɵɵadvance(6);
|
|
340
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(80, 39, ctx_r1.record.__mj_UpdatedAt, "medium"));
|
|
195
|
+
i0.ɵɵproperty("expanded", true);
|
|
341
196
|
} }
|
|
342
197
|
let ActionExecutionLogFormComponentExtended = class ActionExecutionLogFormComponentExtended extends ActionExecutionLogFormComponent {
|
|
343
198
|
constructor(elementRef, sharedService, router, route, cdr) {
|
|
@@ -507,16 +362,80 @@ let ActionExecutionLogFormComponentExtended = class ActionExecutionLogFormCompon
|
|
|
507
362
|
// Could show notification here
|
|
508
363
|
}
|
|
509
364
|
}
|
|
365
|
+
async copyToClipboard(text) {
|
|
366
|
+
try {
|
|
367
|
+
await navigator.clipboard.writeText(text);
|
|
368
|
+
// Could show a toast notification here
|
|
369
|
+
}
|
|
370
|
+
catch (err) {
|
|
371
|
+
console.error('Failed to copy to clipboard:', err);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
510
374
|
static { this.ɵfac = function ActionExecutionLogFormComponentExtended_Factory(t) { return new (t || ActionExecutionLogFormComponentExtended)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i1.SharedService), i0.ɵɵdirectiveInject(i2.Router), i0.ɵɵdirectiveInject(i2.ActivatedRoute), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef)); }; }
|
|
511
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionExecutionLogFormComponentExtended, selectors: [["mj-action-execution-log-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls:
|
|
512
|
-
i0.ɵɵelementStart(0, "div", 1);
|
|
513
|
-
i0.ɵɵ
|
|
375
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ActionExecutionLogFormComponentExtended, selectors: [["mj-action-execution-log-form"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 38, vars: 17, consts: [[1, "record-form-container", "action-execution-log-form"], [1, "record-form"], [1, "header"], [1, "header-content"], [1, "header-left"], [1, "icon-wrapper"], [1, "fas", "fa-terminal"], [1, "header-info"], [1, "meta-info"], [1, "action-name"], [1, "log-id"], [1, "header-right"], [1, "status-badge"], [1, "fas", 3, "ngClass"], [1, "execution-time"], [1, "fas", "fa-clock"], [1, "header-stats"], [1, "stat"], [1, "label"], [1, "value"], [1, "content-area"], ["title", "Execution Details", 3, "expanded"], ["kendoPanelBarContent", ""], ["title", "Input Parameters", 3, "expanded"], ["title", "Output Message", 3, "expanded"], ["title", "Execution Data", 3, "expanded"], [1, "btn-link", 3, "click"], [1, "fas", "fa-external-link-alt"], [1, "details-grid"], [1, "detail-item"], [1, "monospace"], [1, "detail-value"], [1, "json-viewer"], [1, "json-toolbar"], [1, "json-label"], ["title", "Copy JSON", 1, "btn-icon", 3, "click"], [1, "fas", "fa-copy"], ["name", "formattedParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], ["name", "formattedMessage", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [1, "empty-state"], [1, "fas", "fa-inbox"]], template: function ActionExecutionLogFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
|
|
376
|
+
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5);
|
|
377
|
+
i0.ɵɵelement(6, "i", 6);
|
|
378
|
+
i0.ɵɵelementEnd();
|
|
379
|
+
i0.ɵɵelementStart(7, "div", 7)(8, "h2");
|
|
380
|
+
i0.ɵɵtext(9, "Action Execution Log");
|
|
381
|
+
i0.ɵɵelementEnd();
|
|
382
|
+
i0.ɵɵelementStart(10, "div", 8);
|
|
383
|
+
i0.ɵɵtemplate(11, ActionExecutionLogFormComponentExtended_Conditional_11_Template, 2, 1, "span", 9);
|
|
384
|
+
i0.ɵɵelementStart(12, "span", 10);
|
|
385
|
+
i0.ɵɵtext(13);
|
|
386
|
+
i0.ɵɵelementEnd()()()();
|
|
387
|
+
i0.ɵɵelementStart(14, "div", 11)(15, "div", 12);
|
|
388
|
+
i0.ɵɵelement(16, "i", 13);
|
|
389
|
+
i0.ɵɵtext(17);
|
|
390
|
+
i0.ɵɵelementEnd();
|
|
391
|
+
i0.ɵɵelementStart(18, "div", 14);
|
|
392
|
+
i0.ɵɵelement(19, "i", 15);
|
|
393
|
+
i0.ɵɵtext(20);
|
|
394
|
+
i0.ɵɵelementEnd()()();
|
|
395
|
+
i0.ɵɵelementStart(21, "div", 16)(22, "div", 17)(23, "span", 18);
|
|
396
|
+
i0.ɵɵtext(24, "Started");
|
|
514
397
|
i0.ɵɵelementEnd();
|
|
398
|
+
i0.ɵɵelementStart(25, "span", 19);
|
|
399
|
+
i0.ɵɵtext(26);
|
|
400
|
+
i0.ɵɵpipe(27, "date");
|
|
401
|
+
i0.ɵɵelementEnd()();
|
|
402
|
+
i0.ɵɵtemplate(28, ActionExecutionLogFormComponentExtended_Conditional_28_Template, 6, 4, "div", 17)(29, ActionExecutionLogFormComponentExtended_Conditional_29_Template, 7, 1, "div", 17)(30, ActionExecutionLogFormComponentExtended_Conditional_30_Template, 7, 1, "div", 17);
|
|
403
|
+
i0.ɵɵelementEnd()();
|
|
404
|
+
i0.ɵɵelementStart(31, "div", 20)(32, "kendo-panelbar")(33, "kendo-panelbar-item", 21);
|
|
405
|
+
i0.ɵɵtemplate(34, ActionExecutionLogFormComponentExtended_ng_template_34_Template, 33, 11, "ng-template", 22);
|
|
406
|
+
i0.ɵɵelementEnd();
|
|
407
|
+
i0.ɵɵtemplate(35, ActionExecutionLogFormComponentExtended_Conditional_35_Template, 2, 1, "kendo-panelbar-item", 23)(36, ActionExecutionLogFormComponentExtended_Conditional_36_Template, 2, 1, "kendo-panelbar-item", 24)(37, ActionExecutionLogFormComponentExtended_Conditional_37_Template, 2, 1, "kendo-panelbar-item", 25);
|
|
408
|
+
i0.ɵɵelementEnd()()()();
|
|
515
409
|
} if (rf & 2) {
|
|
516
|
-
i0.ɵɵ
|
|
410
|
+
i0.ɵɵadvance(11);
|
|
411
|
+
i0.ɵɵconditional(ctx.action ? 11 : -1);
|
|
412
|
+
i0.ɵɵadvance(2);
|
|
413
|
+
i0.ɵɵtextInterpolate(ctx.record.ID);
|
|
414
|
+
i0.ɵɵadvance(2);
|
|
415
|
+
i0.ɵɵattribute("data-status", ctx.record.ResultCode == null ? null : ctx.record.ResultCode.toLowerCase());
|
|
416
|
+
i0.ɵɵadvance();
|
|
417
|
+
i0.ɵɵproperty("ngClass", ctx.getResultCodeIcon());
|
|
418
|
+
i0.ɵɵadvance();
|
|
419
|
+
i0.ɵɵtextInterpolate1(" ", ctx.record.ResultCode || "UNKNOWN", " ");
|
|
420
|
+
i0.ɵɵadvance(3);
|
|
421
|
+
i0.ɵɵtextInterpolate1(" ", ctx.formatDuration(ctx.getExecutionDuration()), " ");
|
|
422
|
+
i0.ɵɵadvance(6);
|
|
423
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(27, 14, ctx.record.StartedAt, "short"));
|
|
424
|
+
i0.ɵɵadvance(2);
|
|
425
|
+
i0.ɵɵconditional(ctx.record.EndedAt ? 28 : -1);
|
|
426
|
+
i0.ɵɵadvance();
|
|
427
|
+
i0.ɵɵconditional(ctx.action ? 29 : -1);
|
|
428
|
+
i0.ɵɵadvance();
|
|
429
|
+
i0.ɵɵconditional(ctx.user ? 30 : -1);
|
|
430
|
+
i0.ɵɵadvance(3);
|
|
431
|
+
i0.ɵɵproperty("expanded", true);
|
|
432
|
+
i0.ɵɵadvance(2);
|
|
433
|
+
i0.ɵɵconditional(ctx.record.Params ? 35 : -1);
|
|
434
|
+
i0.ɵɵadvance();
|
|
435
|
+
i0.ɵɵconditional(ctx.record.Message ? 36 : -1);
|
|
517
436
|
i0.ɵɵadvance();
|
|
518
|
-
i0.ɵɵconditional(ctx.record ?
|
|
519
|
-
} }, dependencies: [i3
|
|
437
|
+
i0.ɵɵconditional(!ctx.record.Params && !ctx.record.Message ? 37 : -1);
|
|
438
|
+
} }, dependencies: [i3.NgClass, i4.NgControlStatus, i4.NgModel, i5.PanelBarComponent, i5.PanelBarItemComponent, i5.PanelBarContentDirective, i6.CodeEditorComponent, i3.DatePipe], styles: ["\n\n.action-execution-log-form[_ngcontent-%COMP%] {\n height: 100%;\n overflow: hidden;\n background: #f5f7fa;\n}\n\n\n\n.header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);\n border-bottom: 1px solid #e0e6ed;\n padding: 20px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-content[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 16px;\n}\n\n.header-left[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.icon-wrapper[_ngcontent-%COMP%] {\n width: 48px;\n height: 48px;\n background: linear-gradient(135deg, #17a2b8, #138496);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n box-shadow: 0 4px 12px rgba(23, 162, 184, 0.2);\n}\n\n.header-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #2c3e50;\n}\n\n.meta-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: 14px;\n color: #6c757d;\n}\n\n.action-name[_ngcontent-%COMP%] {\n font-weight: 500;\n color: #495057;\n}\n\n.log-id[_ngcontent-%COMP%] {\n font-family: monospace;\n font-size: 12px;\n opacity: 0.7;\n}\n\n.header-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n padding: 6px 16px;\n border-radius: 20px;\n font-size: 13px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: white;\n}\n\n.execution-time[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n color: #6c757d;\n}\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid #e9ecef;\n}\n\n.stat[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n}\n\n\n\n.content-area[_ngcontent-%COMP%] {\n height: calc(100% - 180px);\n overflow-y: auto;\n padding: 20px;\n}\n\n\n\n.details-grid[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 20px;\n padding: 20px;\n}\n\n.detail-item[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.detail-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n font-size: 12px;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: 600;\n}\n\n.detail-value[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: #2196f3;\n cursor: pointer;\n font-size: 14px;\n padding: 4px;\n}\n\n.btn-link[_ngcontent-%COMP%]:hover {\n color: #1976d2;\n}\n\n.loading[_ngcontent-%COMP%] {\n color: #6c757d;\n font-size: 13px;\n}\n\n\n\n.json-viewer[_ngcontent-%COMP%] {\n padding: 20px;\n background: #f8f9fa;\n border-radius: 8px;\n}\n\n.json-toolbar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.json-label[_ngcontent-%COMP%] {\n background: #17a2b8;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.btn-icon[_ngcontent-%COMP%] {\n width: 32px;\n height: 32px;\n border: 1px solid #dee2e6;\n background: white;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #6c757d;\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #495057;\n}\n\n\n\n.status-badge[data-status=\"success\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"ok\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"completed\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"200\"][_ngcontent-%COMP%] {\n background-color: #28a745;\n color: white;\n}\n\n.status-badge[data-status=\"error\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"failed\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"failure\"][_ngcontent-%COMP%] {\n background-color: #dc3545;\n color: white;\n}\n\n.status-badge[data-status=\"warning\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background-color: #ffc107;\n color: #212529;\n}\n\n.status-badge[data-status=\"info\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"running\"][_ngcontent-%COMP%] {\n background-color: #17a2b8;\n color: white;\n}\n\n.status-badge[_ngcontent-%COMP%] {\n background-color: #6c757d;\n color: white;\n}\n\n\n\n.k-panelbar-item-content[_ngcontent-%COMP%] {\n padding: 0;\n}\n\n.k-panelbar[_ngcontent-%COMP%] > .k-item[_ngcontent-%COMP%] > .k-link[_ngcontent-%COMP%] {\n padding: 12px 16px;\n font-weight: 600;\n color: #495057;\n}\n\n.k-panelbar[_ngcontent-%COMP%] > .k-item[_ngcontent-%COMP%] > .k-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 8px;\n color: #6c757d;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: #6c757d;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 48px;\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace[_ngcontent-%COMP%] {\n font-family: 'Courier New', Courier, monospace;\n font-size: 13px;\n}\n\n\n\n@media (max-width: 768px) {\n .header-content[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 16px;\n }\n \n .header-stats[_ngcontent-%COMP%] {\n flex-wrap: wrap;\n }\n \n .details-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}"] }); }
|
|
520
439
|
};
|
|
521
440
|
ActionExecutionLogFormComponentExtended = __decorate([
|
|
522
441
|
RegisterClass(BaseFormComponent, 'Action Execution Logs')
|
|
@@ -524,7 +443,7 @@ ActionExecutionLogFormComponentExtended = __decorate([
|
|
|
524
443
|
export { ActionExecutionLogFormComponentExtended };
|
|
525
444
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionExecutionLogFormComponentExtended, [{
|
|
526
445
|
type: Component,
|
|
527
|
-
args: [{ selector: 'mj-action-execution-log-form', template: "<div class=\"record-form-container\" mjFillContainer [bottomMargin]=\"20\" [rightMargin]=\"5\">\n @if (record) {\n <form class=\"record-form\" #form=\"ngForm\" mjFillContainer>\n <mj-form-toolbar [form]=\"this\"></mj-form-toolbar>\n\n <!-- Main Content Area -->\n <div class=\"execution-log-main-area\" style=\"display: flex; flex-direction: column; height: 100%; overflow-y: auto;\">\n \n <!-- Header Section -->\n <div class=\"execution-header\" style=\"flex-shrink: 0; padding: 20px; background: #f8f9fa; border-bottom: 2px solid #e9ecef;\">\n <div style=\"display: flex; justify-content: space-between; align-items: flex-start; gap: 20px;\">\n \n <!-- Left: Execution Info -->\n <div style=\"flex: 1; min-width: 0;\">\n <div style=\"display: flex; align-items: center; gap: 12px; margin-bottom: 8px;\">\n <i [class]=\"'fa-solid ' + getResultCodeIcon()\" \n [style.color]=\"getResultCodeColor()\" \n style=\"font-size: 1.4em;\"></i>\n <h4 style=\"margin: 0; color: #495057; font-weight: 600;\">\n Execution #{{ record.ID }}\n </h4>\n <span class=\"result-badge\" \n [style.background-color]=\"getResultCodeColor()\" \n style=\"color: white; padding: 4px 10px; border-radius: 12px; font-size: 0.75em; font-weight: 500;\">\n {{ record.ResultCode || 'Unknown' }}\n </span>\n </div>\n \n <!-- Quick Info Row -->\n <div class=\"quick-info\" style=\"display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 12px;\">\n @if (action) {\n <div class=\"info-item\" style=\"display: flex; align-items: center; gap: 6px; font-size: 0.9em;\">\n <i class=\"fa-solid fa-bolt\" style=\"color: #6c757d;\"></i>\n <span style=\"color: #6c757d;\">Action:</span>\n <span style=\"color: #495057; font-weight: 500; cursor: pointer;\" (click)=\"navigateToAction()\">\n {{ action.Name }}\n <i class=\"fa-solid fa-external-link\" style=\"font-size: 0.75em; margin-left: 4px;\"></i>\n </span>\n </div>\n }\n \n @if (user) {\n <div class=\"info-item\" style=\"display: flex; align-items: center; gap: 6px; font-size: 0.9em;\">\n <i class=\"fa-solid fa-user\" style=\"color: #6c757d;\"></i>\n <span style=\"color: #6c757d;\">User:</span>\n <span style=\"color: #495057; font-weight: 500; cursor: pointer;\" (click)=\"navigateToUser()\">\n {{ user.Name }}\n <i class=\"fa-solid fa-external-link\" style=\"font-size: 0.75em; margin-left: 4px;\"></i>\n </span>\n </div>\n }\n \n @if (record.EndedAt) {\n <div class=\"info-item\" style=\"display: flex; align-items: center; gap: 6px; font-size: 0.9em;\">\n <i class=\"fa-solid fa-clock\" style=\"color: #6c757d;\"></i>\n <span style=\"color: #6c757d;\">Duration:</span>\n <span style=\"color: #495057; font-weight: 500;\">{{ formatDuration(getExecutionDuration()) }}</span>\n </div>\n }\n </div>\n </div>\n \n <!-- Right: Timestamps -->\n <div class=\"timestamps\" style=\"text-align: right; font-size: 0.85em; color: #6c757d;\">\n <div>Started: {{ record.StartedAt | date:'medium' }}</div>\n @if (record.EndedAt) {\n <div>Ended: {{ record.EndedAt | date:'medium' }}</div>\n } @else {\n <div style=\"color: #ffc107; font-weight: 600;\">Still Running...</div>\n }\n </div>\n </div>\n </div>\n\n <!-- Configuration Sections with Expansion Panels -->\n <div class=\"configuration-sections\" style=\"flex: 1; background: white; border-top: 2px solid #e9ecef; padding: 16px; min-height: 0;\">\n \n <!-- Execution Details Section -->\n <kendo-expansionpanel \n [expanded]=\"expandedSections.execution\"\n style=\"margin-bottom: 12px;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-info-circle\" style=\"color: #6c757d;\"></i>\n Execution Details\n </span>\n </ng-template>\n \n <div style=\"padding: 16px;\">\n <div class=\"details-grid\" style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px;\">\n <div class=\"detail-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Execution ID</label>\n <div style=\"font-family: monospace; color: #495057;\">{{ record.ID }}</div>\n </div>\n \n <div class=\"detail-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Action ID</label>\n <div style=\"font-family: monospace; color: #495057;\">{{ record.ActionID }}</div>\n </div>\n \n <div class=\"detail-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">User ID</label>\n <div style=\"font-family: monospace; color: #495057;\">{{ record.UserID }}</div>\n </div>\n \n <div class=\"detail-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Result Code</label>\n <div style=\"display: flex; align-items: center; gap: 8px;\">\n <i [class]=\"'fa-solid ' + getResultCodeIcon()\" [style.color]=\"getResultCodeColor()\"></i>\n <span style=\"font-weight: 600;\" [style.color]=\"getResultCodeColor()\">{{ record.ResultCode || 'N/A' }}</span>\n </div>\n </div>\n \n <div class=\"detail-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Retention Period</label>\n <div>{{ record.RetentionPeriod ? record.RetentionPeriod + ' days' : 'Indefinite' }}</div>\n </div>\n </div>\n </div>\n </kendo-expansionpanel>\n\n <!-- Input Parameters Section -->\n <kendo-expansionpanel \n [expanded]=\"expandedSections.input\"\n style=\"margin-bottom: 12px;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-sign-in-alt\" style=\"color: #6c757d;\"></i>\n Input Parameters\n @if (record.Params) {\n <span style=\"background: #17a2b8; color: white; padding: 2px 6px; border-radius: 10px; font-size: 0.7em;\">\n JSON\n </span>\n }\n </span>\n </ng-template>\n \n <div style=\"padding: 16px;\">\n @if (record.Params) {\n <div class=\"json-editor-container\">\n <div class=\"editor-toolbar\" style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;\">\n <h4 style=\"margin: 0; color: #495057;\">Parameters JSON</h4>\n @if (EditMode) {\n <kendo-button fillMode=\"flat\" size=\"small\" (click)=\"saveParams()\">\n <i class=\"fa-solid fa-save\"></i> Save\n </kendo-button>\n }\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedParams\"\n name=\"formattedParams\"\n [readonly]=\"!EditMode\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n } @else {\n <div class=\"empty-state\" style=\"padding: 30px; text-align: center;\">\n <i class=\"fa-solid fa-inbox\" style=\"font-size: 2em; color: #6c757d; opacity: 0.3;\"></i>\n <p style=\"margin: 12px 0 0 0; color: #6c757d;\">No input parameters</p>\n </div>\n }\n </div>\n </kendo-expansionpanel>\n\n <!-- Output/Message Section -->\n <kendo-expansionpanel \n [expanded]=\"expandedSections.output\"\n style=\"margin-bottom: 12px;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-sign-out-alt\" style=\"color: #6c757d;\"></i>\n Output Message\n @if (formattedMessage) {\n <span style=\"background: #28a745; color: white; padding: 2px 6px; border-radius: 10px; font-size: 0.7em;\">\n JSON\n </span>\n }\n </span>\n </ng-template>\n \n <div style=\"padding: 16px;\">\n @if (formattedMessage) {\n <div class=\"json-editor-container\">\n <div class=\"editor-toolbar\" style=\"display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px;\">\n <h4 style=\"margin: 0; color: #495057;\">Output Message JSON</h4>\n @if (EditMode) {\n <kendo-button fillMode=\"flat\" size=\"small\" (click)=\"saveMessage()\">\n <i class=\"fa-solid fa-save\"></i> Save\n </kendo-button>\n }\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedMessage\"\n name=\"formattedMessage\"\n [readonly]=\"!EditMode\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n } @else {\n <div class=\"empty-state\" style=\"padding: 30px; text-align: center;\">\n <i class=\"fa-solid fa-inbox\" style=\"font-size: 2em; color: #6c757d; opacity: 0.3;\"></i>\n <p style=\"margin: 12px 0 0 0; color: #6c757d;\">No output message</p>\n @if (!EditMode) {\n <p style=\"margin: 8px 0 0 0; font-size: 0.85em; color: #6c757d;\">\n Output data will be captured in future executions\n </p>\n }\n </div>\n }\n </div>\n </kendo-expansionpanel>\n\n <!-- Metadata Section -->\n <kendo-expansionpanel \n [expanded]=\"expandedSections.metadata\"\n style=\"margin-bottom: 12px;\">\n <ng-template kendoExpansionPanelTitleDirective>\n <span style=\"display: flex; align-items: center; gap: 8px; font-weight: 600;\">\n <i class=\"fa-solid fa-database\" style=\"color: #6c757d;\"></i>\n System Metadata\n </span>\n </ng-template>\n \n <div style=\"padding: 16px;\">\n <div class=\"metadata-grid\" style=\"display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px;\">\n <div class=\"metadata-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Created At</label>\n <div>{{ record.__mj_CreatedAt | date:'medium' }}</div>\n </div>\n \n <div class=\"metadata-item\">\n <label style=\"display: block; margin-bottom: 4px; font-weight: 600; color: #6c757d; font-size: 0.85em;\">Updated At</label>\n <div>{{ record.__mj_UpdatedAt | date:'medium' }}</div>\n </div>\n </div>\n </div>\n </kendo-expansionpanel>\n </div>\n </div>\n </form>\n }\n</div>", styles: ["/* General form styling */\n.record-form-container {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.record-form {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n/* Header Section */\n.execution-header {\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-bottom: 2px solid #dee2e6;\n}\n\n.result-badge {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 6px 12px;\n border-radius: 16px;\n font-weight: 600;\n}\n\n.quick-info {\n display: flex;\n gap: 24px;\n flex-wrap: wrap;\n}\n\n.info-item {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.info-item span[style*=\"cursor: pointer\"]:hover {\n text-decoration: underline;\n}\n\n.timestamps {\n min-width: 200px;\n}\n\n/* Configuration Sections */\n.configuration-sections {\n overflow-y: auto;\n}\n\n/* Details Grid */\n.details-grid {\n background: #f8f9fa;\n padding: 20px;\n border-radius: 8px;\n}\n\n.detail-item label {\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* JSON Editor Container */\n.json-editor-container {\n border: 1px solid #e9ecef;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.editor-toolbar {\n background: #f8f9fa;\n padding: 12px 16px;\n border-bottom: 1px solid #e9ecef;\n}\n\n.editor-toolbar h4 {\n color: #495057;\n font-size: 1em;\n}\n\n/* Empty State */\n.empty-state {\n background: #f8f9fa;\n border-radius: 8px;\n}\n\n.empty-state i {\n color: #6c757d;\n}\n\n.empty-state p {\n color: #6c757d;\n}\n\n/* Metadata Grid */\n.metadata-grid {\n background: #f8f9fa;\n padding: 20px;\n border-radius: 8px;\n}\n\n.metadata-item label {\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n/* Result Code Styling */\n.result-success {\n color: #28a745;\n}\n\n.result-failure {\n color: #dc3545;\n}\n\n/* Loading States */\n.loading-state {\n text-align: center;\n padding: 40px;\n color: #6c757d;\n}\n\n.loading-state i {\n font-size: 2em;\n margin-bottom: 12px;\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .execution-header {\n padding: 16px;\n }\n \n .quick-info {\n flex-direction: column;\n gap: 12px;\n }\n \n .timestamps {\n text-align: left !important;\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #dee2e6;\n }\n \n .details-grid,\n .metadata-grid {\n grid-template-columns: 1fr;\n }\n}"] }]
|
|
446
|
+
args: [{ selector: 'mj-action-execution-log-form', template: "<div class=\"record-form-container action-execution-log-form\">\n <div class=\"record-form\">\n <!-- Header -->\n <div class=\"header\">\n <div class=\"header-content\">\n <div class=\"header-left\">\n <div class=\"icon-wrapper\">\n <i class=\"fas fa-terminal\"></i>\n </div>\n <div class=\"header-info\">\n <h2>Action Execution Log</h2>\n <div class=\"meta-info\">\n @if (action) {\n <span class=\"action-name\">{{ action.Name }}</span>\n }\n <span class=\"log-id\">{{ record.ID }}</span>\n </div>\n </div>\n </div>\n <div class=\"header-right\">\n <div class=\"status-badge\" [attr.data-status]=\"record.ResultCode?.toLowerCase()\">\n <i class=\"fas\" [ngClass]=\"getResultCodeIcon()\"></i>\n {{ record.ResultCode || 'UNKNOWN' }}\n </div>\n <div class=\"execution-time\">\n <i class=\"fas fa-clock\"></i>\n {{ formatDuration(getExecutionDuration()) }}\n </div>\n </div>\n </div>\n <div class=\"header-stats\">\n <div class=\"stat\">\n <span class=\"label\">Started</span>\n <span class=\"value\">{{ record.StartedAt | date:'short' }}</span>\n </div>\n @if (record.EndedAt) {\n <div class=\"stat\">\n <span class=\"label\">Ended</span>\n <span class=\"value\">{{ record.EndedAt | date:'short' }}</span>\n </div>\n }\n @if (action) {\n <div class=\"stat\">\n <span class=\"label\">Action</span>\n <span class=\"value\">\n <button class=\"btn-link\" (click)=\"navigateToAction()\">\n {{ action.Name }}\n <i class=\"fas fa-external-link-alt\"></i>\n </button>\n </span>\n </div>\n }\n @if (user) {\n <div class=\"stat\">\n <span class=\"label\">User</span>\n <span class=\"value\">\n <button class=\"btn-link\" (click)=\"navigateToUser()\">\n {{ user.Name }}\n <i class=\"fas fa-external-link-alt\"></i>\n </button>\n </span>\n </div>\n }\n </div>\n </div>\n\n <!-- Content Area -->\n <div class=\"content-area\">\n <kendo-panelbar>\n <!-- Execution Details -->\n <kendo-panelbar-item title=\"Execution Details\" [expanded]=\"true\">\n <ng-template kendoPanelBarContent>\n <div class=\"details-grid\">\n <div class=\"detail-item\">\n <label>Execution ID</label>\n <span class=\"monospace\">{{ record.ID }}</span>\n </div>\n <div class=\"detail-item\">\n <label>Action ID</label>\n <span class=\"monospace\">{{ record.ActionID }}</span>\n </div>\n <div class=\"detail-item\">\n <label>User ID</label>\n <span class=\"monospace\">{{ record.UserID }}</span>\n </div>\n <div class=\"detail-item\">\n <label>Result Code</label>\n <span class=\"detail-value\">\n <i class=\"fas\" [ngClass]=\"getResultCodeIcon()\" [style.color]=\"getResultCodeColor()\"></i>\n <span [style.color]=\"getResultCodeColor()\">{{ record.ResultCode || 'N/A' }}</span>\n </span>\n </div>\n <div class=\"detail-item\">\n <label>Duration</label>\n <span>{{ formatDuration(getExecutionDuration()) }}</span>\n </div>\n <div class=\"detail-item\">\n <label>Retention Period</label>\n <span>{{ record.RetentionPeriod ? record.RetentionPeriod + ' days' : 'Indefinite' }}</span>\n </div>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n\n <!-- Input Parameters -->\n @if (record.Params) {\n <kendo-panelbar-item title=\"Input Parameters\" [expanded]=\"expandedSections.input\">\n <ng-template kendoPanelBarContent>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedParams\"\n name=\"formattedParams\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n\n <!-- Output Message -->\n @if (record.Message) {\n <kendo-panelbar-item title=\"Output Message\" [expanded]=\"expandedSections.output\">\n <ng-template kendoPanelBarContent>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedMessage)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedMessage\"\n name=\"formattedMessage\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n\n <!-- Empty States for missing data -->\n @if (!record.Params && !record.Message) {\n <kendo-panelbar-item title=\"Execution Data\" [expanded]=\"true\">\n <ng-template kendoPanelBarContent>\n <div class=\"empty-state\">\n <i class=\"fas fa-inbox\"></i>\n <p>No input parameters or output messages recorded</p>\n </div>\n </ng-template>\n </kendo-panelbar-item>\n }\n </kendo-panelbar>\n </div>\n </div>\n</div>", styles: ["/* Action Execution Log Form Styles */\n.action-execution-log-form {\n height: 100%;\n overflow: hidden;\n background: #f5f7fa;\n}\n\n/* Header Styles */\n.header {\n background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%);\n border-bottom: 1px solid #e0e6ed;\n padding: 20px;\n box-shadow: 0 2px 4px rgba(0,0,0,0.04);\n}\n\n.header-content {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n margin-bottom: 16px;\n}\n\n.header-left {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.icon-wrapper {\n width: 48px;\n height: 48px;\n background: linear-gradient(135deg, #17a2b8, #138496);\n border-radius: 12px;\n display: flex;\n align-items: center;\n justify-content: center;\n color: white;\n font-size: 20px;\n box-shadow: 0 4px 12px rgba(23, 162, 184, 0.2);\n}\n\n.header-info h2 {\n margin: 0;\n font-size: 24px;\n font-weight: 600;\n color: #2c3e50;\n}\n\n.meta-info {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: 14px;\n color: #6c757d;\n}\n\n.action-name {\n font-weight: 500;\n color: #495057;\n}\n\n.log-id {\n font-family: monospace;\n font-size: 12px;\n opacity: 0.7;\n}\n\n.header-right {\n display: flex;\n align-items: center;\n gap: 16px;\n}\n\n.status-badge {\n padding: 6px 16px;\n border-radius: 20px;\n font-size: 13px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: white;\n}\n\n.execution-time {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: 14px;\n color: #6c757d;\n}\n\n.header-stats {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid #e9ecef;\n}\n\n.stat {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat .label {\n font-size: 12px;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat .value {\n font-size: 14px;\n font-weight: 500;\n color: #495057;\n}\n\n/* Content Area */\n.content-area {\n height: calc(100% - 180px);\n overflow-y: auto;\n padding: 20px;\n}\n\n/* Details Grid */\n.details-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));\n gap: 20px;\n padding: 20px;\n}\n\n.detail-item {\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n\n.detail-item label {\n font-size: 12px;\n color: #6c757d;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: 600;\n}\n\n.detail-value {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.btn-link {\n background: none;\n border: none;\n color: #2196f3;\n cursor: pointer;\n font-size: 14px;\n padding: 4px;\n}\n\n.btn-link:hover {\n color: #1976d2;\n}\n\n.loading {\n color: #6c757d;\n font-size: 13px;\n}\n\n/* JSON Viewer */\n.json-viewer {\n padding: 20px;\n background: #f8f9fa;\n border-radius: 8px;\n}\n\n.json-toolbar {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-bottom: 12px;\n}\n\n.json-label {\n background: #17a2b8;\n color: white;\n padding: 4px 12px;\n border-radius: 12px;\n font-size: 11px;\n font-weight: 600;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.btn-icon {\n width: 32px;\n height: 32px;\n border: 1px solid #dee2e6;\n background: white;\n border-radius: 6px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all 0.2s ease;\n color: #6c757d;\n}\n\n.btn-icon:hover {\n background: #f8f9fa;\n border-color: #adb5bd;\n color: #495057;\n}\n\n/* Status badge colors based on data-status attribute */\n.status-badge[data-status=\"success\"],\n.status-badge[data-status=\"ok\"],\n.status-badge[data-status=\"completed\"],\n.status-badge[data-status=\"200\"] {\n background-color: #28a745;\n color: white;\n}\n\n.status-badge[data-status=\"error\"],\n.status-badge[data-status=\"failed\"],\n.status-badge[data-status=\"failure\"] {\n background-color: #dc3545;\n color: white;\n}\n\n.status-badge[data-status=\"warning\"],\n.status-badge[data-status=\"pending\"] {\n background-color: #ffc107;\n color: #212529;\n}\n\n.status-badge[data-status=\"info\"],\n.status-badge[data-status=\"running\"] {\n background-color: #17a2b8;\n color: white;\n}\n\n.status-badge {\n background-color: #6c757d;\n color: white;\n}\n\n/* Panel Bar overrides */\n.k-panelbar-item-content {\n padding: 0;\n}\n\n.k-panelbar > .k-item > .k-link {\n padding: 12px 16px;\n font-weight: 600;\n color: #495057;\n}\n\n.k-panelbar > .k-item > .k-link i {\n margin-right: 8px;\n color: #6c757d;\n}\n\n/* Empty state */\n.empty-state {\n text-align: center;\n padding: 40px;\n color: #6c757d;\n}\n\n.empty-state i {\n font-size: 48px;\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace {\n font-family: 'Courier New', Courier, monospace;\n font-size: 13px;\n}\n\n/* Responsive adjustments */\n@media (max-width: 768px) {\n .header-content {\n flex-direction: column;\n gap: 16px;\n }\n \n .header-stats {\n flex-wrap: wrap;\n }\n \n .details-grid {\n grid-template-columns: 1fr;\n }\n}"] }]
|
|
528
447
|
}], () => [{ type: i0.ElementRef }, { type: i1.SharedService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }], null); })();
|
|
529
448
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionExecutionLogFormComponentExtended, { className: "ActionExecutionLogFormComponentExtended", filePath: "src/lib/custom/Actions/action-execution-log-form.component.ts", lineNumber: 16 }); })();
|
|
530
449
|
//# sourceMappingURL=action-execution-log-form.component.js.map
|