@memberjunction/ng-core-entity-forms 2.49.0 → 2.51.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.
Files changed (97) hide show
  1. package/README.md +215 -1
  2. package/dist/lib/custom/AIAgents/agent-execution-monitor.component.d.ts +244 -0
  3. package/dist/lib/custom/AIAgents/agent-execution-monitor.component.d.ts.map +1 -0
  4. package/dist/lib/custom/AIAgents/agent-execution-monitor.component.js +1314 -0
  5. package/dist/lib/custom/AIAgents/agent-execution-monitor.component.js.map +1 -0
  6. package/dist/lib/custom/AIAgents/agent-execution-node.component.d.ts +19 -0
  7. package/dist/lib/custom/AIAgents/agent-execution-node.component.d.ts.map +1 -0
  8. package/dist/lib/custom/AIAgents/agent-execution-node.component.js +458 -0
  9. package/dist/lib/custom/AIAgents/agent-execution-node.component.js.map +1 -0
  10. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts +171 -11
  11. package/dist/lib/custom/AIAgents/ai-agent-form.component.d.ts.map +1 -1
  12. package/dist/lib/custom/AIAgents/ai-agent-form.component.js +1411 -145
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  14. package/dist/lib/custom/AIAgents/ai-test-harness-dialog.component.d.ts +78 -0
  15. package/dist/lib/custom/AIAgents/ai-test-harness-dialog.component.d.ts.map +1 -0
  16. package/dist/lib/custom/AIAgents/ai-test-harness-dialog.component.js +157 -0
  17. package/dist/lib/custom/AIAgents/ai-test-harness-dialog.component.js.map +1 -0
  18. package/dist/lib/custom/AIAgents/ai-test-harness.component.d.ts +508 -0
  19. package/dist/lib/custom/AIAgents/ai-test-harness.component.d.ts.map +1 -0
  20. package/dist/lib/custom/AIAgents/ai-test-harness.component.js +2658 -0
  21. package/dist/lib/custom/AIAgents/ai-test-harness.component.js.map +1 -0
  22. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts +40 -0
  23. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -0
  24. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +965 -0
  25. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -0
  26. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.d.ts +5 -0
  27. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.d.ts.map +1 -1
  28. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.js +137 -99
  29. package/dist/lib/custom/AIPrompts/ai-prompt-execution-dialog.component.js.map +1 -1
  30. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts +80 -4
  31. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.d.ts.map +1 -1
  32. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +956 -470
  33. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  34. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts +40 -0
  35. package/dist/lib/custom/Actions/action-execution-log-form.component.d.ts.map +1 -0
  36. package/dist/lib/custom/Actions/action-execution-log-form.component.js +530 -0
  37. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -0
  38. package/dist/lib/custom/Actions/action-form.component.d.ts +90 -0
  39. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -0
  40. package/dist/lib/custom/Actions/action-form.component.js +1579 -0
  41. package/dist/lib/custom/Actions/action-form.component.js.map +1 -0
  42. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts +32 -0
  43. package/dist/lib/custom/Actions/action-param-dialog.component.d.ts.map +1 -0
  44. package/dist/lib/custom/Actions/action-param-dialog.component.js +320 -0
  45. package/dist/lib/custom/Actions/action-param-dialog.component.js.map +1 -0
  46. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts +15 -0
  47. package/dist/lib/custom/Actions/action-test-harness-dialog.component.d.ts.map +1 -0
  48. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js +96 -0
  49. package/dist/lib/custom/Actions/action-test-harness-dialog.component.js.map +1 -0
  50. package/dist/lib/custom/Actions/action-test-harness.component.d.ts +50 -0
  51. package/dist/lib/custom/Actions/action-test-harness.component.d.ts.map +1 -0
  52. package/dist/lib/custom/Actions/action-test-harness.component.js +708 -0
  53. package/dist/lib/custom/Actions/action-test-harness.component.js.map +1 -0
  54. package/dist/lib/custom/custom-forms.module.d.ts +31 -19
  55. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  56. package/dist/lib/custom/custom-forms.module.js +94 -15
  57. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  58. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +35 -0
  59. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -0
  60. package/dist/lib/custom/shared/entity-selector-dialog.component.js +290 -0
  61. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -0
  62. package/dist/lib/custom/test-harness-dialog.service.d.ts +111 -0
  63. package/dist/lib/custom/test-harness-dialog.service.d.ts.map +1 -0
  64. package/dist/lib/custom/test-harness-dialog.service.js +211 -0
  65. package/dist/lib/custom/test-harness-dialog.service.js.map +1 -0
  66. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js +12 -11
  67. package/dist/lib/generated/Entities/AIAgent/aiagent.form.component.js.map +1 -1
  68. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts +54 -0
  69. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.d.ts.map +1 -0
  70. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js +492 -0
  71. package/dist/lib/generated/Entities/AIAgent/sections/aiagent-form-overview.component.js.map +1 -0
  72. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js +8 -7
  73. package/dist/lib/generated/Entities/AIAgentRun/aiagentrun.form.component.js.map +1 -1
  74. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js +8 -7
  75. package/dist/lib/generated/Entities/AIConfiguration/aiconfiguration.form.component.js.map +1 -1
  76. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js +8 -7
  77. package/dist/lib/generated/Entities/AIModel/aimodel.form.component.js.map +1 -1
  78. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js +12 -11
  79. package/dist/lib/generated/Entities/AIModelType/aimodeltype.form.component.js.map +1 -1
  80. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js +12 -11
  81. package/dist/lib/generated/Entities/AIPrompt/aiprompt.form.component.js.map +1 -1
  82. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js +12 -11
  83. package/dist/lib/generated/Entities/AIPromptRun/aipromptrun.form.component.js.map +1 -1
  84. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js +12 -11
  85. package/dist/lib/generated/Entities/AIVendor/aivendor.form.component.js.map +1 -1
  86. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.d.ts.map +1 -1
  87. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js +13 -4
  88. package/dist/lib/generated/Entities/ActionExecutionLog/sections/details.component.js.map +1 -1
  89. package/dist/public-api.d.ts +3 -0
  90. package/dist/public-api.d.ts.map +1 -1
  91. package/dist/public-api.js +16 -0
  92. package/dist/public-api.js.map +1 -1
  93. package/package.json +12 -11
  94. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.d.ts +0 -52
  95. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.d.ts.map +0 -1
  96. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.js +0 -590
  97. package/dist/lib/custom/AIAgents/ai-agent-execution-dialog.component.js.map +0 -1
@@ -0,0 +1,530 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Component } from '@angular/core';
8
+ import { RegisterClass } from '@memberjunction/global';
9
+ import { BaseFormComponent } from '@memberjunction/ng-base-forms';
10
+ import { SharedService } from '@memberjunction/ng-shared';
11
+ import { Metadata, CompositeKey } from '@memberjunction/core';
12
+ import { ActionExecutionLogFormComponent } from '../../generated/Entities/ActionExecutionLog/actionexecutionlog.form.component';
13
+ import * as i0 from "@angular/core";
14
+ import * as i1 from "@memberjunction/ng-shared";
15
+ import * as i2 from "@angular/router";
16
+ import * as i3 from "@angular/forms";
17
+ import * as i4 from "@progress/kendo-angular-layout";
18
+ import * as i5 from "@progress/kendo-angular-buttons";
19
+ import * as i6 from "@memberjunction/ng-form-toolbar";
20
+ import * as i7 from "@memberjunction/ng-container-directives";
21
+ import * as i8 from "@memberjunction/ng-code-editor";
22
+ import * as i9 from "@angular/common";
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:");
29
+ 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
+ } if (rf & 2) {
36
+ const ctx_r1 = i0.ɵɵnextContext(2);
37
+ i0.ɵɵadvance(5);
38
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.action.Name, " ");
39
+ } }
40
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_15_Template(rf, ctx) { if (rf & 1) {
41
+ const _r3 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "div", 13);
43
+ i0.ɵɵelement(1, "i", 34);
44
+ i0.ɵɵelementStart(2, "span", 31);
45
+ i0.ɵɵtext(3, "User:");
46
+ i0.ɵɵelementEnd();
47
+ i0.ɵɵelementStart(4, "span", 32);
48
+ i0.ɵɵlistener("click", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_15_Template_span_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.navigateToUser()); });
49
+ i0.ɵɵtext(5);
50
+ i0.ɵɵelement(6, "i", 33);
51
+ i0.ɵɵelementEnd()();
52
+ } if (rf & 2) {
53
+ const ctx_r1 = i0.ɵɵnextContext(2);
54
+ i0.ɵɵadvance(5);
55
+ i0.ɵɵtextInterpolate1(" ", ctx_r1.user.Name, " ");
56
+ } }
57
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_16_Template(rf, ctx) { if (rf & 1) {
58
+ i0.ɵɵelementStart(0, "div", 13);
59
+ i0.ɵɵelement(1, "i", 35);
60
+ i0.ɵɵelementStart(2, "span", 31);
61
+ i0.ɵɵtext(3, "Duration:");
62
+ i0.ɵɵelementEnd();
63
+ i0.ɵɵelementStart(4, "span", 36);
64
+ i0.ɵɵtext(5);
65
+ i0.ɵɵelementEnd()();
66
+ } if (rf & 2) {
67
+ const ctx_r1 = i0.ɵɵnextContext(2);
68
+ i0.ɵɵadvance(5);
69
+ i0.ɵɵtextInterpolate(ctx_r1.formatDuration(ctx_r1.getExecutionDuration()));
70
+ } }
71
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_21_Template(rf, ctx) { if (rf & 1) {
72
+ i0.ɵɵelementStart(0, "div");
73
+ i0.ɵɵtext(1);
74
+ i0.ɵɵpipe(2, "date");
75
+ i0.ɵɵelementEnd();
76
+ } if (rf & 2) {
77
+ const ctx_r1 = i0.ɵɵnextContext(2);
78
+ i0.ɵɵadvance();
79
+ i0.ɵɵtextInterpolate1("Ended: ", i0.ɵɵpipeBind2(2, 1, ctx_r1.record.EndedAt, "medium"), "");
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();
91
+ } }
92
+ function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_56_Conditional_3_Template(rf, ctx) { if (rf & 1) {
93
+ i0.ɵɵelementStart(0, "span", 40);
94
+ i0.ɵɵtext(1, " JSON ");
95
+ i0.ɵɵelementEnd();
96
+ } }
97
+ function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_56_Template(rf, ctx) { if (rf & 1) {
98
+ i0.ɵɵelementStart(0, "span", 37);
99
+ i0.ɵɵelement(1, "i", 39);
100
+ i0.ɵɵtext(2, " Input Parameters ");
101
+ i0.ɵɵtemplate(3, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_56_Conditional_3_Template, 2, 0, "span", 40);
102
+ i0.ɵɵelementEnd();
103
+ } if (rf & 2) {
104
+ const ctx_r1 = i0.ɵɵnextContext(2);
105
+ i0.ɵɵadvance(3);
106
+ i0.ɵɵconditional(ctx_r1.record.Params ? 3 : -1);
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 ");
114
+ i0.ɵɵelementEnd();
115
+ } }
116
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Template(rf, ctx) { if (rf & 1) {
117
+ const _r4 = i0.ɵɵgetCurrentView();
118
+ i0.ɵɵelementStart(0, "div", 26)(1, "div", 41)(2, "h4", 42);
119
+ i0.ɵɵtext(3, "Parameters JSON");
120
+ i0.ɵɵelementEnd();
121
+ i0.ɵɵtemplate(4, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Conditional_4_Template, 3, 0, "kendo-button", 43);
122
+ i0.ɵɵelementEnd();
123
+ i0.ɵɵelementStart(5, "mj-code-editor", 44);
124
+ i0.ɵɵtwoWayListener("ngModelChange", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_58_Template_mj_code_editor_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.formattedParams, $event) || (ctx_r1.formattedParams = $event); return i0.ɵɵresetView($event); });
125
+ i0.ɵɵelementEnd()();
126
+ } if (rf & 2) {
127
+ const ctx_r1 = i0.ɵɵnextContext(2);
128
+ i0.ɵɵadvance(4);
129
+ i0.ɵɵconditional(ctx_r1.EditMode ? 4 : -1);
130
+ i0.ɵɵadvance();
131
+ i0.ɵɵtwoWayProperty("ngModel", ctx_r1.formattedParams);
132
+ i0.ɵɵproperty("readonly", !ctx_r1.EditMode)("language", "json")("lineWrapping", true);
133
+ } }
134
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_59_Template(rf, ctx) { if (rf & 1) {
135
+ i0.ɵɵelementStart(0, "div", 27);
136
+ i0.ɵɵelement(1, "i", 47);
137
+ i0.ɵɵelementStart(2, "p", 48);
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();
145
+ } }
146
+ function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_61_Template(rf, ctx) { if (rf & 1) {
147
+ i0.ɵɵelementStart(0, "span", 37);
148
+ i0.ɵɵelement(1, "i", 49);
149
+ i0.ɵɵtext(2, " Output Message ");
150
+ i0.ɵɵtemplate(3, ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_61_Conditional_3_Template, 2, 0, "span", 50);
151
+ i0.ɵɵelementEnd();
152
+ } if (rf & 2) {
153
+ const ctx_r1 = i0.ɵɵnextContext(2);
154
+ i0.ɵɵadvance(3);
155
+ i0.ɵɵconditional(ctx_r1.formattedMessage ? 3 : -1);
156
+ } }
157
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Conditional_4_Template(rf, ctx) { if (rf & 1) {
158
+ const _r7 = i0.ɵɵgetCurrentView();
159
+ i0.ɵɵelementStart(0, "kendo-button", 45);
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 ");
163
+ i0.ɵɵelementEnd();
164
+ } }
165
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Template(rf, ctx) { if (rf & 1) {
166
+ const _r6 = i0.ɵɵgetCurrentView();
167
+ i0.ɵɵelementStart(0, "div", 26)(1, "div", 41)(2, "h4", 42);
168
+ i0.ɵɵtext(3, "Output Message JSON");
169
+ i0.ɵɵelementEnd();
170
+ i0.ɵɵtemplate(4, ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Conditional_4_Template, 3, 0, "kendo-button", 43);
171
+ i0.ɵɵelementEnd();
172
+ i0.ɵɵelementStart(5, "mj-code-editor", 51);
173
+ i0.ɵɵtwoWayListener("ngModelChange", function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_63_Template_mj_code_editor_ngModelChange_5_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r1 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r1.formattedMessage, $event) || (ctx_r1.formattedMessage = $event); return i0.ɵɵresetView($event); });
174
+ i0.ɵɵelementEnd()();
175
+ } if (rf & 2) {
176
+ const ctx_r1 = i0.ɵɵnextContext(2);
177
+ i0.ɵɵadvance(4);
178
+ i0.ɵɵconditional(ctx_r1.EditMode ? 4 : -1);
179
+ i0.ɵɵadvance();
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();
187
+ } }
188
+ function ActionExecutionLogFormComponentExtended_Conditional_1_Conditional_64_Template(rf, ctx) { if (rf & 1) {
189
+ i0.ɵɵelementStart(0, "div", 27);
190
+ i0.ɵɵelement(1, "i", 47);
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);
195
+ i0.ɵɵelementEnd();
196
+ } if (rf & 2) {
197
+ const ctx_r1 = i0.ɵɵnextContext(2);
198
+ i0.ɵɵadvance(4);
199
+ i0.ɵɵconditional(!ctx_r1.EditMode ? 4 : -1);
200
+ } }
201
+ function ActionExecutionLogFormComponentExtended_Conditional_1_ng_template_66_Template(rf, ctx) { if (rf & 1) {
202
+ i0.ɵɵelementStart(0, "span", 37);
203
+ i0.ɵɵelement(1, "i", 53);
204
+ i0.ɵɵtext(2, " System Metadata ");
205
+ i0.ɵɵelementEnd();
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");
279
+ i0.ɵɵelementEnd()();
280
+ i0.ɵɵelementStart(75, "div", 29)(76, "label", 22);
281
+ i0.ɵɵtext(77, "Updated At");
282
+ i0.ɵɵelementEnd();
283
+ i0.ɵɵelementStart(78, "div");
284
+ i0.ɵɵtext(79);
285
+ i0.ɵɵpipe(80, "date");
286
+ i0.ɵɵelementEnd()()()()()()()();
287
+ } if (rf & 2) {
288
+ const ctx_r1 = i0.ɵɵnextContext();
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"));
341
+ } }
342
+ let ActionExecutionLogFormComponentExtended = class ActionExecutionLogFormComponentExtended extends ActionExecutionLogFormComponent {
343
+ constructor(elementRef, sharedService, router, route, cdr) {
344
+ super(elementRef, sharedService, router, route, cdr);
345
+ this.cdr = cdr;
346
+ // Related entities
347
+ this.action = null;
348
+ this.user = null;
349
+ // Loading states
350
+ this.isLoadingAction = false;
351
+ this.isLoadingUser = false;
352
+ // Formatted JSON fields
353
+ this.formattedParams = '';
354
+ this.formattedMessage = '';
355
+ // UI state
356
+ this.expandedSections = {
357
+ execution: true,
358
+ input: true,
359
+ output: true,
360
+ metadata: false
361
+ };
362
+ }
363
+ async ngOnInit() {
364
+ await super.ngOnInit();
365
+ if (this.record?.IsSaved) {
366
+ // Load related data
367
+ await Promise.all([
368
+ this.loadAction(),
369
+ this.loadUser()
370
+ ]);
371
+ // Format JSON fields
372
+ this.formatJSONFields();
373
+ }
374
+ }
375
+ async loadAction() {
376
+ if (!this.record.ActionID)
377
+ return;
378
+ this.isLoadingAction = true;
379
+ try {
380
+ const md = new Metadata();
381
+ this.action = await md.GetEntityObject('Actions');
382
+ if (this.action) {
383
+ await this.action.Load(this.record.ActionID);
384
+ }
385
+ }
386
+ catch (error) {
387
+ console.error('Error loading action:', error);
388
+ }
389
+ finally {
390
+ this.isLoadingAction = false;
391
+ }
392
+ }
393
+ async loadUser() {
394
+ if (!this.record.UserID)
395
+ return;
396
+ this.isLoadingUser = true;
397
+ try {
398
+ const md = new Metadata();
399
+ this.user = await md.GetEntityObject('Users');
400
+ if (this.user) {
401
+ await this.user.Load(this.record.UserID);
402
+ }
403
+ }
404
+ catch (error) {
405
+ console.error('Error loading user:', error);
406
+ }
407
+ finally {
408
+ this.isLoadingUser = false;
409
+ }
410
+ }
411
+ formatJSONFields() {
412
+ // Format Params
413
+ if (this.record.Params) {
414
+ try {
415
+ const parsed = JSON.parse(this.record.Params);
416
+ this.formattedParams = JSON.stringify(parsed, null, 2);
417
+ }
418
+ catch (e) {
419
+ this.formattedParams = this.record.Params;
420
+ }
421
+ }
422
+ // Format Message field
423
+ if (this.record.Message) {
424
+ try {
425
+ const parsed = JSON.parse(this.record.Message);
426
+ this.formattedMessage = JSON.stringify(parsed, null, 2);
427
+ }
428
+ catch (e) {
429
+ this.formattedMessage = this.record.Message;
430
+ }
431
+ }
432
+ }
433
+ // Navigation
434
+ navigateToEntity(entityName, recordId) {
435
+ if (!recordId)
436
+ return;
437
+ SharedService.Instance.OpenEntityRecord(entityName, CompositeKey.FromID(recordId));
438
+ }
439
+ navigateToAction() {
440
+ if (this.record.ActionID) {
441
+ this.navigateToEntity('Actions', this.record.ActionID);
442
+ }
443
+ }
444
+ navigateToUser() {
445
+ if (this.record.UserID) {
446
+ this.navigateToEntity('Users', this.record.UserID);
447
+ }
448
+ }
449
+ // UI Helpers
450
+ getExecutionDuration() {
451
+ if (!this.record.StartedAt || !this.record.EndedAt)
452
+ return 0;
453
+ return new Date(this.record.EndedAt).getTime() - new Date(this.record.StartedAt).getTime();
454
+ }
455
+ formatDuration(ms) {
456
+ if (ms < 1000)
457
+ return `${ms}ms`;
458
+ if (ms < 60000)
459
+ return `${(ms / 1000).toFixed(1)}s`;
460
+ if (ms < 3600000)
461
+ return `${(ms / 60000).toFixed(1)}m`;
462
+ return `${(ms / 3600000).toFixed(1)}h`;
463
+ }
464
+ getResultCodeColor() {
465
+ const code = this.record.ResultCode?.toLowerCase();
466
+ if (code === 'success' || code === 'ok' || code === 'completed' || code === '200') {
467
+ return '#28a745';
468
+ }
469
+ return '#dc3545';
470
+ }
471
+ getResultCodeIcon() {
472
+ const code = this.record.ResultCode?.toLowerCase();
473
+ if (code === 'success' || code === 'ok' || code === 'completed' || code === '200') {
474
+ return 'fa-check-circle';
475
+ }
476
+ return 'fa-times-circle';
477
+ }
478
+ toggleSection(section) {
479
+ this.expandedSections[section] = !this.expandedSections[section];
480
+ }
481
+ // Save handlers for JSON fields
482
+ async saveParams() {
483
+ if (!this.EditMode)
484
+ return;
485
+ try {
486
+ // Validate JSON
487
+ JSON.parse(this.formattedParams);
488
+ this.record.Params = this.formattedParams;
489
+ await this.record.Save();
490
+ }
491
+ catch (e) {
492
+ console.error('Invalid JSON in Params field:', e);
493
+ // Could show notification here
494
+ }
495
+ }
496
+ async saveMessage() {
497
+ if (!this.EditMode)
498
+ return;
499
+ try {
500
+ // Validate JSON
501
+ JSON.parse(this.formattedMessage);
502
+ this.record.Message = this.formattedMessage;
503
+ await this.record.Save();
504
+ }
505
+ catch (e) {
506
+ console.error('Invalid JSON in Message field:', e);
507
+ // Could show notification here
508
+ }
509
+ }
510
+ 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: 2, vars: 3, consts: [["form", "ngForm"], ["mjFillContainer", "", 1, "record-form-container", 3, "bottomMargin", "rightMargin"], ["mjFillContainer", "", 1, "record-form"], [3, "form"], [1, "execution-log-main-area", 2, "display", "flex", "flex-direction", "column", "height", "100%", "overflow-y", "auto"], [1, "execution-header", 2, "flex-shrink", "0", "padding", "20px", "background", "#f8f9fa", "border-bottom", "2px solid #e9ecef"], [2, "display", "flex", "justify-content", "space-between", "align-items", "flex-start", "gap", "20px"], [2, "flex", "1", "min-width", "0"], [2, "display", "flex", "align-items", "center", "gap", "12px", "margin-bottom", "8px"], [2, "font-size", "1.4em"], [2, "margin", "0", "color", "#495057", "font-weight", "600"], [1, "result-badge", 2, "color", "white", "padding", "4px 10px", "border-radius", "12px", "font-size", "0.75em", "font-weight", "500"], [1, "quick-info", 2, "display", "flex", "align-items", "center", "gap", "20px", "flex-wrap", "wrap", "margin-top", "12px"], [1, "info-item", 2, "display", "flex", "align-items", "center", "gap", "6px", "font-size", "0.9em"], [1, "timestamps", 2, "text-align", "right", "font-size", "0.85em", "color", "#6c757d"], [2, "color", "#ffc107", "font-weight", "600"], [1, "configuration-sections", 2, "flex", "1", "background", "white", "border-top", "2px solid #e9ecef", "padding", "16px", "min-height", "0"], [2, "margin-bottom", "12px", 3, "expanded"], ["kendoExpansionPanelTitleDirective", ""], [2, "padding", "16px"], [1, "details-grid", 2, "display", "grid", "grid-template-columns", "repeat(auto-fit, minmax(250px, 1fr))", "gap", "20px"], [1, "detail-item"], [2, "display", "block", "margin-bottom", "4px", "font-weight", "600", "color", "#6c757d", "font-size", "0.85em"], [2, "font-family", "monospace", "color", "#495057"], [2, "display", "flex", "align-items", "center", "gap", "8px"], [2, "font-weight", "600"], [1, "json-editor-container"], [1, "empty-state", 2, "padding", "30px", "text-align", "center"], [1, "metadata-grid", 2, "display", "grid", "grid-template-columns", "repeat(auto-fit, minmax(250px, 1fr))", "gap", "20px"], [1, "metadata-item"], [1, "fa-solid", "fa-bolt", 2, "color", "#6c757d"], [2, "color", "#6c757d"], [2, "color", "#495057", "font-weight", "500", "cursor", "pointer", 3, "click"], [1, "fa-solid", "fa-external-link", 2, "font-size", "0.75em", "margin-left", "4px"], [1, "fa-solid", "fa-user", 2, "color", "#6c757d"], [1, "fa-solid", "fa-clock", 2, "color", "#6c757d"], [2, "color", "#495057", "font-weight", "500"], [2, "display", "flex", "align-items", "center", "gap", "8px", "font-weight", "600"], [1, "fa-solid", "fa-info-circle", 2, "color", "#6c757d"], [1, "fa-solid", "fa-sign-in-alt", 2, "color", "#6c757d"], [2, "background", "#17a2b8", "color", "white", "padding", "2px 6px", "border-radius", "10px", "font-size", "0.7em"], [1, "editor-toolbar", 2, "display", "flex", "justify-content", "space-between", "align-items", "center", "margin-bottom", "8px"], [2, "margin", "0", "color", "#495057"], ["fillMode", "flat", "size", "small"], ["name", "formattedParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], ["fillMode", "flat", "size", "small", 3, "click"], [1, "fa-solid", "fa-save"], [1, "fa-solid", "fa-inbox", 2, "font-size", "2em", "color", "#6c757d", "opacity", "0.3"], [2, "margin", "12px 0 0 0", "color", "#6c757d"], [1, "fa-solid", "fa-sign-out-alt", 2, "color", "#6c757d"], [2, "background", "#28a745", "color", "white", "padding", "2px 6px", "border-radius", "10px", "font-size", "0.7em"], ["name", "formattedMessage", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [2, "margin", "8px 0 0 0", "font-size", "0.85em", "color", "#6c757d"], [1, "fa-solid", "fa-database", 2, "color", "#6c757d"]], template: function ActionExecutionLogFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
512
+ i0.ɵɵelementStart(0, "div", 1);
513
+ i0.ɵɵtemplate(1, ActionExecutionLogFormComponentExtended_Conditional_1_Template, 81, 42, "form", 2);
514
+ i0.ɵɵelementEnd();
515
+ } if (rf & 2) {
516
+ i0.ɵɵproperty("bottomMargin", 20)("rightMargin", 5);
517
+ i0.ɵɵadvance();
518
+ i0.ɵɵconditional(ctx.record ? 1 : -1);
519
+ } }, dependencies: [i3.ɵNgNoValidate, i3.NgControlStatus, i3.NgControlStatusGroup, i3.NgModel, i3.NgForm, i4.ExpansionPanelComponent, i4.ExpansionPanelTitleDirective, i5.ButtonComponent, i6.FormToolbarComponent, i7.FillContainer, i8.CodeEditorComponent, i9.DatePipe], styles: ["\n\n.record-form-container[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n}\n\n.record-form[_ngcontent-%COMP%] {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n}\n\n\n\n.execution-header[_ngcontent-%COMP%] {\n background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);\n border-bottom: 2px solid #dee2e6;\n}\n\n.result-badge[_ngcontent-%COMP%] {\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[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n flex-wrap: wrap;\n}\n\n.info-item[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n\n.info-item[_ngcontent-%COMP%] span[style*=\"cursor: pointer\"][_ngcontent-%COMP%]:hover {\n text-decoration: underline;\n}\n\n.timestamps[_ngcontent-%COMP%] {\n min-width: 200px;\n}\n\n\n\n.configuration-sections[_ngcontent-%COMP%] {\n overflow-y: auto;\n}\n\n\n\n.details-grid[_ngcontent-%COMP%] {\n background: #f8f9fa;\n padding: 20px;\n border-radius: 8px;\n}\n\n.detail-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n.json-editor-container[_ngcontent-%COMP%] {\n border: 1px solid #e9ecef;\n border-radius: 8px;\n overflow: hidden;\n}\n\n.editor-toolbar[_ngcontent-%COMP%] {\n background: #f8f9fa;\n padding: 12px 16px;\n border-bottom: 1px solid #e9ecef;\n}\n\n.editor-toolbar[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n color: #495057;\n font-size: 1em;\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n background: #f8f9fa;\n border-radius: 8px;\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n color: #6c757d;\n}\n\n.empty-state[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #6c757d;\n}\n\n\n\n.metadata-grid[_ngcontent-%COMP%] {\n background: #f8f9fa;\n padding: 20px;\n border-radius: 8px;\n}\n\n.metadata-item[_ngcontent-%COMP%] label[_ngcontent-%COMP%] {\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n\n\n.result-success[_ngcontent-%COMP%] {\n color: #28a745;\n}\n\n.result-failure[_ngcontent-%COMP%] {\n color: #dc3545;\n}\n\n\n\n.loading-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: #6c757d;\n}\n\n.loading-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 2em;\n margin-bottom: 12px;\n}\n\n\n\n@media (max-width: 768px) {\n .execution-header[_ngcontent-%COMP%] {\n padding: 16px;\n }\n \n .quick-info[_ngcontent-%COMP%] {\n flex-direction: column;\n gap: 12px;\n }\n \n .timestamps[_ngcontent-%COMP%] {\n text-align: left !important;\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #dee2e6;\n }\n \n .details-grid[_ngcontent-%COMP%], \n .metadata-grid[_ngcontent-%COMP%] {\n grid-template-columns: 1fr;\n }\n}"] }); }
520
+ };
521
+ ActionExecutionLogFormComponentExtended = __decorate([
522
+ RegisterClass(BaseFormComponent, 'Action Execution Logs')
523
+ ], ActionExecutionLogFormComponentExtended);
524
+ export { ActionExecutionLogFormComponentExtended };
525
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ActionExecutionLogFormComponentExtended, [{
526
+ 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}"] }]
528
+ }], () => [{ type: i0.ElementRef }, { type: i1.SharedService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i0.ChangeDetectorRef }], null); })();
529
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ActionExecutionLogFormComponentExtended, { className: "ActionExecutionLogFormComponentExtended", filePath: "src/lib/custom/Actions/action-execution-log-form.component.ts", lineNumber: 16 }); })();
530
+ //# sourceMappingURL=action-execution-log-form.component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-execution-log-form.component.js","sourceRoot":"","sources":["../../../../src/lib/custom/Actions/action-execution-log-form.component.ts","../../../../src/lib/custom/Actions/action-execution-log-form.component.html"],"names":[],"mappings":"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"}