@memberjunction/ng-core-entity-forms 5.21.0 → 5.23.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 (157) hide show
  1. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts +4 -5
  2. package/dist/lib/custom/AIAgents/add-action-dialog.component.d.ts.map +1 -1
  3. package/dist/lib/custom/AIAgents/add-action-dialog.component.js +55 -59
  4. package/dist/lib/custom/AIAgents/add-action-dialog.component.js.map +1 -1
  5. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js +0 -1
  6. package/dist/lib/custom/AIAgents/agent-advanced-settings-dialog.component.js.map +1 -1
  7. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts +4 -5
  8. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.d.ts.map +1 -1
  9. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js +54 -71
  10. package/dist/lib/custom/AIAgents/agent-prompt-advanced-settings-dialog.component.js.map +1 -1
  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 +1053 -1096
  13. package/dist/lib/custom/AIAgents/ai-agent-form.component.js.map +1 -1
  14. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts +2 -3
  15. package/dist/lib/custom/AIAgents/ai-agent-management.service.d.ts.map +1 -1
  16. package/dist/lib/custom/AIAgents/ai-agent-management.service.js +39 -82
  17. package/dist/lib/custom/AIAgents/ai-agent-management.service.js.map +1 -1
  18. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts +4 -5
  19. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.d.ts.map +1 -1
  20. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js +28 -31
  21. package/dist/lib/custom/AIAgents/create-prompt-dialog.component.js.map +1 -1
  22. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts +4 -5
  23. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.d.ts.map +1 -1
  24. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js +15 -14
  25. package/dist/lib/custom/AIAgents/create-sub-agent-dialog.component.js.map +1 -1
  26. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts +4 -7
  27. package/dist/lib/custom/AIAgents/new-agent-dialog.component.d.ts.map +1 -1
  28. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js +77 -124
  29. package/dist/lib/custom/AIAgents/new-agent-dialog.component.js.map +1 -1
  30. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts +2 -2
  31. package/dist/lib/custom/AIAgents/new-agent-dialog.service.d.ts.map +1 -1
  32. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js +10 -11
  33. package/dist/lib/custom/AIAgents/new-agent-dialog.service.js.map +1 -1
  34. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts +4 -5
  35. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.d.ts.map +1 -1
  36. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js +18 -18
  37. package/dist/lib/custom/AIAgents/prompt-selector-dialog.component.js.map +1 -1
  38. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts +4 -5
  39. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.d.ts.map +1 -1
  40. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js +59 -80
  41. package/dist/lib/custom/AIAgents/sub-agent-advanced-settings-dialog.component.js.map +1 -1
  42. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts +4 -5
  43. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.d.ts.map +1 -1
  44. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js +23 -24
  45. package/dist/lib/custom/AIAgents/sub-agent-selector-dialog.component.js.map +1 -1
  46. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.d.ts.map +1 -1
  47. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js +862 -906
  48. package/dist/lib/custom/AIPromptRuns/ai-prompt-run-form.component.js.map +1 -1
  49. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js +4 -5
  50. package/dist/lib/custom/AIPromptRuns/chat-message-viewer.component.js.map +1 -1
  51. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js +448 -499
  52. package/dist/lib/custom/AIPrompts/ai-prompt-form.component.js.map +1 -1
  53. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts +2 -2
  54. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.d.ts.map +1 -1
  55. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js +6 -11
  56. package/dist/lib/custom/AIPrompts/ai-prompt-management.service.js.map +1 -1
  57. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts +4 -5
  58. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.d.ts.map +1 -1
  59. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js +16 -15
  60. package/dist/lib/custom/AIPrompts/template-selector-dialog.component.js.map +1 -1
  61. package/dist/lib/custom/Actions/action-execution-log-form.component.js +160 -166
  62. package/dist/lib/custom/Actions/action-execution-log-form.component.js.map +1 -1
  63. package/dist/lib/custom/Actions/action-form.component.d.ts.map +1 -1
  64. package/dist/lib/custom/Actions/action-form.component.js +93 -94
  65. package/dist/lib/custom/Actions/action-form.component.js.map +1 -1
  66. package/dist/lib/custom/Entities/entity-form.component.js +2 -2
  67. package/dist/lib/custom/Lists/list-form.component.js +61 -63
  68. package/dist/lib/custom/Lists/list-form.component.js.map +1 -1
  69. package/dist/lib/custom/Queries/query-category-dialog.component.js +33 -59
  70. package/dist/lib/custom/Queries/query-category-dialog.component.js.map +1 -1
  71. package/dist/lib/custom/Queries/query-form.component.js +354 -360
  72. package/dist/lib/custom/Queries/query-form.component.js.map +1 -1
  73. package/dist/lib/custom/Queries/query-run-dialog.component.js +62 -71
  74. package/dist/lib/custom/Queries/query-run-dialog.component.js.map +1 -1
  75. package/dist/lib/custom/Templates/template-param-dialog.component.js +128 -124
  76. package/dist/lib/custom/Templates/template-param-dialog.component.js.map +1 -1
  77. package/dist/lib/custom/Templates/template-params-grid.component.d.ts +45 -22
  78. package/dist/lib/custom/Templates/template-params-grid.component.d.ts.map +1 -1
  79. package/dist/lib/custom/Templates/template-params-grid.component.js +380 -384
  80. package/dist/lib/custom/Templates/template-params-grid.component.js.map +1 -1
  81. package/dist/lib/custom/Templates/templates-form.component.js +34 -36
  82. package/dist/lib/custom/Templates/templates-form.component.js.map +1 -1
  83. package/dist/lib/custom/Tests/test-form.component.js +9 -10
  84. package/dist/lib/custom/Tests/test-form.component.js.map +1 -1
  85. package/dist/lib/custom/Tests/test-run-feedback-form.component.js +4 -4
  86. package/dist/lib/custom/Tests/test-run-feedback-form.component.js.map +1 -1
  87. package/dist/lib/custom/Tests/test-run-form.component.js +8 -8
  88. package/dist/lib/custom/Tests/test-run-form.component.js.map +1 -1
  89. package/dist/lib/custom/Tests/test-suite-form.component.js +7 -8
  90. package/dist/lib/custom/Tests/test-suite-form.component.js.map +1 -1
  91. package/dist/lib/custom/Tests/test-suite-run-form.component.js +7 -8
  92. package/dist/lib/custom/Tests/test-suite-run-form.component.js.map +1 -1
  93. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js +381 -409
  94. package/dist/lib/custom/ai-agent-run/ai-agent-run-analytics.component.js.map +1 -1
  95. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.d.ts.map +1 -1
  96. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js +1 -1
  97. package/dist/lib/custom/ai-agent-run/ai-agent-run-data.service.js.map +1 -1
  98. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.d.ts.map +1 -1
  99. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js +74 -63
  100. package/dist/lib/custom/ai-agent-run/ai-agent-run-timeline.component.js.map +1 -1
  101. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js +10 -10
  102. package/dist/lib/custom/ai-agent-run/ai-agent-run-visualization.component.js.map +1 -1
  103. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.d.ts.map +1 -1
  104. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js +352 -332
  105. package/dist/lib/custom/ai-agent-run/ai-agent-run.component.js.map +1 -1
  106. package/dist/lib/custom/custom-forms.module.d.ts +22 -27
  107. package/dist/lib/custom/custom-forms.module.d.ts.map +1 -1
  108. package/dist/lib/custom/custom-forms.module.js +51 -81
  109. package/dist/lib/custom/custom-forms.module.js.map +1 -1
  110. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts +4 -5
  111. package/dist/lib/custom/shared/entity-selector-dialog.component.d.ts.map +1 -1
  112. package/dist/lib/custom/shared/entity-selector-dialog.component.js +59 -66
  113. package/dist/lib/custom/shared/entity-selector-dialog.component.js.map +1 -1
  114. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.d.ts.map +1 -1
  115. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js +176 -156
  116. package/dist/lib/generated/Entities/MJAIAgent/mjaiagent.form.component.js.map +1 -1
  117. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.d.ts +10 -0
  118. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.d.ts.map +1 -0
  119. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js +65 -0
  120. package/dist/lib/generated/Entities/MJAIAgentClientTool/mjaiagentclienttool.form.component.js.map +1 -0
  121. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.d.ts +10 -0
  122. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.d.ts.map +1 -0
  123. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js +89 -0
  124. package/dist/lib/generated/Entities/MJAIClientToolDefinition/mjaiclienttooldefinition.form.component.js.map +1 -0
  125. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.d.ts.map +1 -1
  126. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js +80 -44
  127. package/dist/lib/generated/Entities/MJAIModel/mjaimodel.form.component.js.map +1 -1
  128. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js +11 -8
  129. package/dist/lib/generated/Entities/MJContentItemTag/mjcontentitemtag.form.component.js.map +1 -1
  130. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.d.ts.map +1 -1
  131. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js +39 -24
  132. package/dist/lib/generated/Entities/MJContentSource/mjcontentsource.form.component.js.map +1 -1
  133. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.d.ts.map +1 -1
  134. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js +35 -17
  135. package/dist/lib/generated/Entities/MJContentType/mjcontenttype.form.component.js.map +1 -1
  136. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js +15 -13
  137. package/dist/lib/generated/Entities/MJDuplicateRunDetail/mjduplicaterundetail.form.component.js.map +1 -1
  138. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.d.ts.map +1 -1
  139. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js +7 -9
  140. package/dist/lib/generated/Entities/MJDuplicateRunDetailMatch/mjduplicaterundetailmatch.form.component.js.map +1 -1
  141. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js +28 -24
  142. package/dist/lib/generated/Entities/MJEntityDocument/mjentitydocument.form.component.js.map +1 -1
  143. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.d.ts.map +1 -1
  144. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js +21 -9
  145. package/dist/lib/generated/Entities/MJEntityField/mjentityfield.form.component.js.map +1 -1
  146. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js +19 -17
  147. package/dist/lib/generated/Entities/MJVectorDatabase/mjvectordatabase.form.component.js.map +1 -1
  148. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.d.ts.map +1 -1
  149. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js +82 -14
  150. package/dist/lib/generated/Entities/MJVectorIndex/mjvectorindex.form.component.js.map +1 -1
  151. package/dist/lib/generated/generated-forms.module.d.ts +280 -279
  152. package/dist/lib/generated/generated-forms.module.d.ts.map +1 -1
  153. package/dist/lib/generated/generated-forms.module.js +102 -142
  154. package/dist/lib/generated/generated-forms.module.js.map +1 -1
  155. package/dist/lib/shared/components/template-editor.component.js +14 -15
  156. package/dist/lib/shared/components/template-editor.component.js.map +1 -1
  157. package/package.json +34 -41
@@ -13,7 +13,7 @@ import { MJActionExecutionLogFormComponent } from '../../generated/Entities/MJAc
13
13
  import * as i0 from "@angular/core";
14
14
  import * as i1 from "@angular/common";
15
15
  import * as i2 from "@angular/forms";
16
- import * as i3 from "@progress/kendo-angular-layout";
16
+ import * as i3 from "@memberjunction/ng-ui-components";
17
17
  import * as i4 from "@memberjunction/ng-code-editor";
18
18
  function MJActionExecutionLogFormComponentExtended_Conditional_11_Template(rf, ctx) { if (rf & 1) {
19
19
  i0.ɵɵelementStart(0, "span", 9);
@@ -42,10 +42,10 @@ function MJActionExecutionLogFormComponentExtended_Conditional_29_Template(rf, c
42
42
  i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
43
43
  i0.ɵɵtext(2, "Action");
44
44
  i0.ɵɵelementEnd();
45
- i0.ɵɵelementStart(3, "span", 19)(4, "button", 29);
45
+ i0.ɵɵelementStart(3, "span", 19)(4, "button", 28);
46
46
  i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_29_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r2); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.navigateToAction()); });
47
47
  i0.ɵɵtext(5);
48
- i0.ɵɵelement(6, "i", 30);
48
+ i0.ɵɵelement(6, "i", 29);
49
49
  i0.ɵɵelementEnd()()();
50
50
  } if (rf & 2) {
51
51
  const ctx_r0 = i0.ɵɵnextContext();
@@ -57,10 +57,10 @@ function MJActionExecutionLogFormComponentExtended_Conditional_30_Template(rf, c
57
57
  i0.ɵɵelementStart(0, "div", 17)(1, "span", 18);
58
58
  i0.ɵɵtext(2, "User");
59
59
  i0.ɵɵelementEnd();
60
- i0.ɵɵelementStart(3, "span", 19)(4, "button", 29);
60
+ i0.ɵɵelementStart(3, "span", 19)(4, "button", 28);
61
61
  i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_30_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r3); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.navigateToUser()); });
62
62
  i0.ɵɵtext(5);
63
- i0.ɵɵelement(6, "i", 30);
63
+ i0.ɵɵelement(6, "i", 29);
64
64
  i0.ɵɵelementEnd()()();
65
65
  } if (rf & 2) {
66
66
  const ctx_r0 = i0.ɵɵnextContext();
@@ -68,181 +68,123 @@ function MJActionExecutionLogFormComponentExtended_Conditional_30_Template(rf, c
68
68
  i0.ɵɵtextInterpolate1(" ", ctx_r0.user.Name, " ");
69
69
  } }
70
70
  function MJActionExecutionLogFormComponentExtended_ng_template_34_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelementStart(0, "div", 31)(1, "div", 32)(2, "label");
72
- i0.ɵɵtext(3, "Execution ID");
73
- i0.ɵɵelementEnd();
74
- i0.ɵɵelementStart(4, "span", 33);
75
- i0.ɵɵtext(5);
76
- i0.ɵɵelementEnd()();
77
- i0.ɵɵelementStart(6, "div", 32)(7, "label");
78
- i0.ɵɵtext(8, "Action ID");
79
- i0.ɵɵelementEnd();
80
- i0.ɵɵelementStart(9, "span", 33);
81
- i0.ɵɵtext(10);
82
- i0.ɵɵelementEnd()();
83
- i0.ɵɵelementStart(11, "div", 32)(12, "label");
84
- i0.ɵɵtext(13, "User ID");
85
- i0.ɵɵelementEnd();
86
- i0.ɵɵelementStart(14, "span", 33);
87
- i0.ɵɵtext(15);
88
- i0.ɵɵelementEnd()();
89
- i0.ɵɵelementStart(16, "div", 32)(17, "label");
90
- i0.ɵɵtext(18, "Result Code");
91
- i0.ɵɵelementEnd();
92
- i0.ɵɵelementStart(19, "span", 34);
93
- i0.ɵɵelement(20, "i", 13);
94
- i0.ɵɵelementStart(21, "span");
95
- i0.ɵɵtext(22);
96
- i0.ɵɵelementEnd()()();
97
- i0.ɵɵelementStart(23, "div", 32)(24, "label");
98
- i0.ɵɵtext(25, "Duration");
99
- i0.ɵɵelementEnd();
100
- i0.ɵɵelementStart(26, "span");
101
- i0.ɵɵtext(27);
102
- i0.ɵɵelementEnd()();
103
- i0.ɵɵelementStart(28, "div", 32)(29, "label");
104
- i0.ɵɵtext(30, "Retention Period");
105
- i0.ɵɵelementEnd();
106
- i0.ɵɵelementStart(31, "span");
107
- i0.ɵɵtext(32);
108
- i0.ɵɵelementEnd()()();
109
- } if (rf & 2) {
110
- const ctx_r0 = i0.ɵɵnextContext();
111
- i0.ɵɵadvance(5);
112
- i0.ɵɵtextInterpolate(ctx_r0.record.ID);
113
- i0.ɵɵadvance(5);
114
- i0.ɵɵtextInterpolate(ctx_r0.record.ActionID);
115
- i0.ɵɵadvance(5);
116
- i0.ɵɵtextInterpolate(ctx_r0.record.UserID);
117
- i0.ɵɵadvance(5);
118
- i0.ɵɵstyleProp("color", ctx_r0.getResultCodeColor());
119
- i0.ɵɵproperty("ngClass", ctx_r0.getResultCodeIcon());
120
- i0.ɵɵadvance();
121
- i0.ɵɵstyleProp("color", ctx_r0.getResultCodeColor());
122
- i0.ɵɵadvance();
123
- i0.ɵɵtextInterpolate(ctx_r0.record.ResultCode || "N/A");
124
- i0.ɵɵadvance(5);
125
- i0.ɵɵtextInterpolate(ctx_r0.formatDuration(ctx_r0.getExecutionDuration()));
126
- i0.ɵɵadvance(5);
127
- i0.ɵɵtextInterpolate(ctx_r0.record.RetentionPeriod ? ctx_r0.record.RetentionPeriod + " days" : "Indefinite");
71
+ i0.ɵɵelement(0, "i", 30);
72
+ i0.ɵɵtext(1, " Execution Details ");
128
73
  } }
129
- function MJActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template(rf, ctx) { if (rf & 1) {
74
+ function MJActionExecutionLogFormComponentExtended_Conditional_68_ng_template_1_Template(rf, ctx) { if (rf & 1) {
75
+ i0.ɵɵelement(0, "i", 37);
76
+ i0.ɵɵtext(1, " Input Parameters ");
77
+ } }
78
+ function MJActionExecutionLogFormComponentExtended_Conditional_68_Template(rf, ctx) { if (rf & 1) {
130
79
  const _r4 = i0.ɵɵgetCurrentView();
131
- i0.ɵɵelementStart(0, "div", 35)(1, "div", 36)(2, "span", 37);
132
- i0.ɵɵtext(3, "JSON (Input Parameters Only)");
80
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
81
+ i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_68_ng_template_1_Template, 2, 0, "ng-template", 23);
82
+ i0.ɵɵelementStart(2, "div", 31)(3, "div", 32)(4, "span", 33);
83
+ i0.ɵɵtext(5, "JSON (Input Parameters Only)");
133
84
  i0.ɵɵelementEnd();
134
- i0.ɵɵelementStart(4, "button", 38);
135
- i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_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.formattedInputParams)); });
136
- i0.ɵɵelement(5, "i", 39);
137
- i0.ɵɵelementEnd()();
138
- i0.ɵɵelementStart(6, "mj-code-editor", 40);
139
- i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_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.formattedInputParams, $event) || (ctx_r0.formattedInputParams = $event); return i0.ɵɵresetView($event); });
85
+ i0.ɵɵelementStart(6, "button", 34);
86
+ i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_68_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedInputParams)); });
87
+ i0.ɵɵelement(7, "i", 35);
140
88
  i0.ɵɵelementEnd()();
89
+ i0.ɵɵelementStart(8, "mj-code-editor", 36);
90
+ i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_68_Template_mj_code_editor_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedInputParams, $event) || (ctx_r0.formattedInputParams = $event); return i0.ɵɵresetView($event); });
91
+ i0.ɵɵelementEnd()()();
141
92
  } if (rf & 2) {
142
- const ctx_r0 = i0.ɵɵnextContext(2);
143
- i0.ɵɵadvance(6);
93
+ const ctx_r0 = i0.ɵɵnextContext();
94
+ i0.ɵɵproperty("Expanded", ctx_r0.expandedSections.inputParams);
95
+ i0.ɵɵadvance(8);
144
96
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedInputParams);
145
97
  i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
146
98
  } }
147
- function MJActionExecutionLogFormComponentExtended_Conditional_35_Template(rf, ctx) { if (rf & 1) {
148
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 24);
149
- i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_35_ng_template_1_Template, 7, 4, "ng-template", 23);
150
- i0.ɵɵelementEnd();
151
- } if (rf & 2) {
152
- const ctx_r0 = i0.ɵɵnextContext();
153
- i0.ɵɵproperty("expanded", ctx_r0.expandedSections.inputParams);
99
+ function MJActionExecutionLogFormComponentExtended_Conditional_69_ng_template_1_Template(rf, ctx) { if (rf & 1) {
100
+ i0.ɵɵelement(0, "i", 39);
101
+ i0.ɵɵtext(1, " Output Parameters ");
154
102
  } }
155
- function MJActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template(rf, ctx) { if (rf & 1) {
103
+ function MJActionExecutionLogFormComponentExtended_Conditional_69_Template(rf, ctx) { if (rf & 1) {
156
104
  const _r5 = i0.ɵɵgetCurrentView();
157
- i0.ɵɵelementStart(0, "div", 35)(1, "div", 36)(2, "span", 37);
158
- i0.ɵɵtext(3, "JSON (Output Parameters Only)");
105
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
106
+ i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_69_ng_template_1_Template, 2, 0, "ng-template", 23);
107
+ i0.ɵɵelementStart(2, "div", 31)(3, "div", 32)(4, "span", 33);
108
+ i0.ɵɵtext(5, "JSON (Output Parameters Only)");
159
109
  i0.ɵɵelementEnd();
160
- i0.ɵɵelementStart(4, "button", 38);
161
- i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_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.formattedOutputParams)); });
162
- i0.ɵɵelement(5, "i", 39);
163
- i0.ɵɵelementEnd()();
164
- i0.ɵɵelementStart(6, "mj-code-editor", 41);
165
- i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_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.formattedOutputParams, $event) || (ctx_r0.formattedOutputParams = $event); return i0.ɵɵresetView($event); });
110
+ i0.ɵɵelementStart(6, "button", 34);
111
+ i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_69_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedOutputParams)); });
112
+ i0.ɵɵelement(7, "i", 35);
166
113
  i0.ɵɵelementEnd()();
114
+ i0.ɵɵelementStart(8, "mj-code-editor", 38);
115
+ i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_69_Template_mj_code_editor_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r5); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedOutputParams, $event) || (ctx_r0.formattedOutputParams = $event); return i0.ɵɵresetView($event); });
116
+ i0.ɵɵelementEnd()()();
167
117
  } if (rf & 2) {
168
- const ctx_r0 = i0.ɵɵnextContext(2);
169
- i0.ɵɵadvance(6);
118
+ const ctx_r0 = i0.ɵɵnextContext();
119
+ i0.ɵɵproperty("Expanded", ctx_r0.expandedSections.outputParams);
120
+ i0.ɵɵadvance(8);
170
121
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedOutputParams);
171
122
  i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
172
123
  } }
173
- function MJActionExecutionLogFormComponentExtended_Conditional_36_Template(rf, ctx) { if (rf & 1) {
174
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 25);
175
- i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_36_ng_template_1_Template, 7, 4, "ng-template", 23);
176
- i0.ɵɵelementEnd();
177
- } if (rf & 2) {
178
- const ctx_r0 = i0.ɵɵnextContext();
179
- i0.ɵɵproperty("expanded", ctx_r0.expandedSections.outputParams);
124
+ function MJActionExecutionLogFormComponentExtended_Conditional_70_ng_template_1_Template(rf, ctx) { if (rf & 1) {
125
+ i0.ɵɵelement(0, "i", 41);
126
+ i0.ɵɵtext(1, " Input+Output Parameters ");
180
127
  } }
181
- function MJActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template(rf, ctx) { if (rf & 1) {
128
+ function MJActionExecutionLogFormComponentExtended_Conditional_70_Template(rf, ctx) { if (rf & 1) {
182
129
  const _r6 = i0.ɵɵgetCurrentView();
183
- i0.ɵɵelementStart(0, "div", 35)(1, "div", 36)(2, "span", 37);
184
- i0.ɵɵtext(3, "JSON (Input+Output Parameters)");
130
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
131
+ i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_70_ng_template_1_Template, 2, 0, "ng-template", 23);
132
+ i0.ɵɵelementStart(2, "div", 31)(3, "div", 32)(4, "span", 33);
133
+ i0.ɵɵtext(5, "JSON (Input+Output Parameters)");
185
134
  i0.ɵɵelementEnd();
186
- i0.ɵɵelementStart(4, "button", 38);
187
- i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedBothParams)); });
188
- i0.ɵɵelement(5, "i", 39);
189
- i0.ɵɵelementEnd()();
190
- i0.ɵɵelementStart(6, "mj-code-editor", 42);
191
- i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template_mj_code_editor_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedBothParams, $event) || (ctx_r0.formattedBothParams = $event); return i0.ɵɵresetView($event); });
135
+ i0.ɵɵelementStart(6, "button", 34);
136
+ i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_70_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedBothParams)); });
137
+ i0.ɵɵelement(7, "i", 35);
192
138
  i0.ɵɵelementEnd()();
139
+ i0.ɵɵelementStart(8, "mj-code-editor", 40);
140
+ i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_70_Template_mj_code_editor_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedBothParams, $event) || (ctx_r0.formattedBothParams = $event); return i0.ɵɵresetView($event); });
141
+ i0.ɵɵelementEnd()()();
193
142
  } if (rf & 2) {
194
- const ctx_r0 = i0.ɵɵnextContext(2);
195
- i0.ɵɵadvance(6);
143
+ const ctx_r0 = i0.ɵɵnextContext();
144
+ i0.ɵɵproperty("Expanded", ctx_r0.expandedSections.bothParams);
145
+ i0.ɵɵadvance(8);
196
146
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedBothParams);
197
147
  i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
198
148
  } }
199
- function MJActionExecutionLogFormComponentExtended_Conditional_37_Template(rf, ctx) { if (rf & 1) {
200
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 26);
201
- i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_37_ng_template_1_Template, 7, 4, "ng-template", 23);
202
- i0.ɵɵelementEnd();
203
- } if (rf & 2) {
204
- const ctx_r0 = i0.ɵɵnextContext();
205
- i0.ɵɵproperty("expanded", ctx_r0.expandedSections.bothParams);
149
+ function MJActionExecutionLogFormComponentExtended_Conditional_71_ng_template_1_Template(rf, ctx) { if (rf & 1) {
150
+ i0.ɵɵelement(0, "i", 43);
151
+ i0.ɵɵtext(1, " Output Message ");
206
152
  } }
207
- function MJActionExecutionLogFormComponentExtended_Conditional_38_ng_template_1_Template(rf, ctx) { if (rf & 1) {
153
+ function MJActionExecutionLogFormComponentExtended_Conditional_71_Template(rf, ctx) { if (rf & 1) {
208
154
  const _r7 = i0.ɵɵgetCurrentView();
209
- i0.ɵɵelementStart(0, "div", 35)(1, "div", 36)(2, "span", 37);
210
- i0.ɵɵtext(3, "JSON");
155
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
156
+ i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_71_ng_template_1_Template, 2, 0, "ng-template", 23);
157
+ i0.ɵɵelementStart(2, "div", 31)(3, "div", 32)(4, "span", 33);
158
+ i0.ɵɵtext(5, "JSON");
211
159
  i0.ɵɵelementEnd();
212
- i0.ɵɵelementStart(4, "button", 38);
213
- i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_38_ng_template_1_Template_button_click_4_listener() { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedMessage)); });
214
- i0.ɵɵelement(5, "i", 39);
215
- i0.ɵɵelementEnd()();
216
- i0.ɵɵelementStart(6, "mj-code-editor", 43);
217
- i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_38_ng_template_1_Template_mj_code_editor_ngModelChange_6_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(2); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedMessage, $event) || (ctx_r0.formattedMessage = $event); return i0.ɵɵresetView($event); });
160
+ i0.ɵɵelementStart(6, "button", 34);
161
+ i0.ɵɵlistener("click", function MJActionExecutionLogFormComponentExtended_Conditional_71_Template_button_click_6_listener() { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r0.copyToClipboard(ctx_r0.formattedMessage)); });
162
+ i0.ɵɵelement(7, "i", 35);
218
163
  i0.ɵɵelementEnd()();
164
+ i0.ɵɵelementStart(8, "mj-code-editor", 42);
165
+ i0.ɵɵtwoWayListener("ngModelChange", function MJActionExecutionLogFormComponentExtended_Conditional_71_Template_mj_code_editor_ngModelChange_8_listener($event) { i0.ɵɵrestoreView(_r7); const ctx_r0 = i0.ɵɵnextContext(); i0.ɵɵtwoWayBindingSet(ctx_r0.formattedMessage, $event) || (ctx_r0.formattedMessage = $event); return i0.ɵɵresetView($event); });
166
+ i0.ɵɵelementEnd()()();
219
167
  } if (rf & 2) {
220
- const ctx_r0 = i0.ɵɵnextContext(2);
221
- i0.ɵɵadvance(6);
168
+ const ctx_r0 = i0.ɵɵnextContext();
169
+ i0.ɵɵproperty("Expanded", ctx_r0.expandedSections.output);
170
+ i0.ɵɵadvance(8);
222
171
  i0.ɵɵtwoWayProperty("ngModel", ctx_r0.formattedMessage);
223
172
  i0.ɵɵproperty("readonly", true)("language", "json")("lineWrapping", true);
224
173
  } }
225
- function MJActionExecutionLogFormComponentExtended_Conditional_38_Template(rf, ctx) { if (rf & 1) {
226
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 27);
227
- i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_38_ng_template_1_Template, 7, 4, "ng-template", 23);
228
- i0.ɵɵelementEnd();
229
- } if (rf & 2) {
230
- const ctx_r0 = i0.ɵɵnextContext();
231
- i0.ɵɵproperty("expanded", ctx_r0.expandedSections.output);
174
+ function MJActionExecutionLogFormComponentExtended_Conditional_72_ng_template_1_Template(rf, ctx) { if (rf & 1) {
175
+ i0.ɵɵelement(0, "i", 46);
176
+ i0.ɵɵtext(1, " Execution Data ");
232
177
  } }
233
- function MJActionExecutionLogFormComponentExtended_Conditional_39_ng_template_1_Template(rf, ctx) { if (rf & 1) {
234
- i0.ɵɵelementStart(0, "div", 44);
235
- i0.ɵɵelement(1, "i", 45);
236
- i0.ɵɵelementStart(2, "p");
237
- i0.ɵɵtext(3, "No execution data recorded");
238
- i0.ɵɵelementEnd()();
239
- } }
240
- function MJActionExecutionLogFormComponentExtended_Conditional_39_Template(rf, ctx) { if (rf & 1) {
241
- i0.ɵɵelementStart(0, "kendo-panelbar-item", 28);
242
- i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_39_ng_template_1_Template, 4, 0, "ng-template", 23);
243
- i0.ɵɵelementEnd();
178
+ function MJActionExecutionLogFormComponentExtended_Conditional_72_Template(rf, ctx) { if (rf & 1) {
179
+ i0.ɵɵelementStart(0, "mj-accordion-panel", 22);
180
+ i0.ɵɵtemplate(1, MJActionExecutionLogFormComponentExtended_Conditional_72_ng_template_1_Template, 2, 0, "ng-template", 23);
181
+ i0.ɵɵelementStart(2, "div", 44);
182
+ i0.ɵɵelement(3, "i", 45);
183
+ i0.ɵɵelementStart(4, "p");
184
+ i0.ɵɵtext(5, "No execution data recorded");
185
+ i0.ɵɵelementEnd()()();
244
186
  } if (rf & 2) {
245
- i0.ɵɵproperty("expanded", true);
187
+ i0.ɵɵproperty("Expanded", true);
246
188
  } }
247
189
  let MJActionExecutionLogFormComponentExtended = class MJActionExecutionLogFormComponentExtended extends MJActionExecutionLogFormComponent {
248
190
  constructor() {
@@ -479,7 +421,7 @@ let MJActionExecutionLogFormComponentExtended = class MJActionExecutionLogFormCo
479
421
  }
480
422
  }
481
423
  static { this.ɵfac = /*@__PURE__*/ (() => { let ɵMJActionExecutionLogFormComponentExtended_BaseFactory; return function MJActionExecutionLogFormComponentExtended_Factory(__ngFactoryType__) { return (ɵMJActionExecutionLogFormComponentExtended_BaseFactory || (ɵMJActionExecutionLogFormComponentExtended_BaseFactory = i0.ɵɵgetInheritedFactory(MJActionExecutionLogFormComponentExtended)))(__ngFactoryType__ || MJActionExecutionLogFormComponentExtended); }; })(); }
482
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJActionExecutionLogFormComponentExtended, selectors: [["mj-action-execution-log-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 40, vars: 20, consts: [[1, "record-form-container", "action-execution-log-form", 2, "height", "100%", "display", "flex", "flex-direction", "column"], [1, "record-form", 2, "display", "flex", "flex-direction", "column", "height", "100%", "overflow", "hidden"], [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"], [3, "keepItemContent"], ["title", "Execution Details", 3, "expanded"], ["kendoPanelBarContent", ""], ["title", "Input Parameters", 3, "expanded"], ["title", "Output Parameters", 3, "expanded"], ["title", "Input+Output 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", "formattedInputParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], ["name", "formattedOutputParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], ["name", "formattedBothParams", 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 MJActionExecutionLogFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
424
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MJActionExecutionLogFormComponentExtended, selectors: [["mj-action-execution-log-form"]], standalone: false, features: [i0.ɵɵInheritDefinitionFeature], decls: 73, vars: 30, consts: [[1, "record-form-container", "action-execution-log-form", 2, "height", "100%", "display", "flex", "flex-direction", "column"], [1, "record-form", 2, "display", "flex", "flex-direction", "column", "height", "100%", "overflow", "hidden"], [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"], [1, "accordion-container"], [3, "Expanded"], ["mjAccordionTitle", ""], [1, "details-grid"], [1, "detail-item"], [1, "monospace"], [1, "detail-value"], [1, "btn-link", 3, "click"], [1, "fas", "fa-external-link-alt"], [1, "fas", "fa-info-circle"], [1, "json-viewer"], [1, "json-toolbar"], [1, "json-label"], ["title", "Copy JSON", 1, "btn-icon", 3, "click"], [1, "fas", "fa-copy"], ["name", "formattedInputParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [1, "fas", "fa-sign-in-alt"], ["name", "formattedOutputParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [1, "fas", "fa-sign-out-alt"], ["name", "formattedBothParams", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [1, "fas", "fa-exchange-alt"], ["name", "formattedMessage", 2, "height", "300px", "width", "100%", 3, "ngModelChange", "ngModel", "readonly", "language", "lineWrapping"], [1, "fas", "fa-comment-alt"], [1, "empty-state"], [1, "fas", "fa-inbox"], [1, "fas", "fa-database"]], template: function MJActionExecutionLogFormComponentExtended_Template(rf, ctx) { if (rf & 1) {
483
425
  i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5);
484
426
  i0.ɵɵelement(6, "i", 6);
485
427
  i0.ɵɵelementEnd();
@@ -510,14 +452,51 @@ let MJActionExecutionLogFormComponentExtended = class MJActionExecutionLogFormCo
510
452
  i0.ɵɵconditionalCreate(29, MJActionExecutionLogFormComponentExtended_Conditional_29_Template, 7, 1, "div", 17);
511
453
  i0.ɵɵconditionalCreate(30, MJActionExecutionLogFormComponentExtended_Conditional_30_Template, 7, 1, "div", 17);
512
454
  i0.ɵɵelementEnd()();
513
- i0.ɵɵelementStart(31, "div", 20)(32, "kendo-panelbar", 21)(33, "kendo-panelbar-item", 22);
514
- i0.ɵɵtemplate(34, MJActionExecutionLogFormComponentExtended_ng_template_34_Template, 33, 11, "ng-template", 23);
455
+ i0.ɵɵelementStart(31, "div", 20)(32, "div", 21)(33, "mj-accordion-panel", 22);
456
+ i0.ɵɵtemplate(34, MJActionExecutionLogFormComponentExtended_ng_template_34_Template, 2, 0, "ng-template", 23);
457
+ i0.ɵɵelementStart(35, "div", 24)(36, "div", 25)(37, "label");
458
+ i0.ɵɵtext(38, "Execution ID");
515
459
  i0.ɵɵelementEnd();
516
- i0.ɵɵconditionalCreate(35, MJActionExecutionLogFormComponentExtended_Conditional_35_Template, 2, 1, "kendo-panelbar-item", 24);
517
- i0.ɵɵconditionalCreate(36, MJActionExecutionLogFormComponentExtended_Conditional_36_Template, 2, 1, "kendo-panelbar-item", 25);
518
- i0.ɵɵconditionalCreate(37, MJActionExecutionLogFormComponentExtended_Conditional_37_Template, 2, 1, "kendo-panelbar-item", 26);
519
- i0.ɵɵconditionalCreate(38, MJActionExecutionLogFormComponentExtended_Conditional_38_Template, 2, 1, "kendo-panelbar-item", 27);
520
- i0.ɵɵconditionalCreate(39, MJActionExecutionLogFormComponentExtended_Conditional_39_Template, 2, 1, "kendo-panelbar-item", 28);
460
+ i0.ɵɵelementStart(39, "span", 26);
461
+ i0.ɵɵtext(40);
462
+ i0.ɵɵelementEnd()();
463
+ i0.ɵɵelementStart(41, "div", 25)(42, "label");
464
+ i0.ɵɵtext(43, "Action ID");
465
+ i0.ɵɵelementEnd();
466
+ i0.ɵɵelementStart(44, "span", 26);
467
+ i0.ɵɵtext(45);
468
+ i0.ɵɵelementEnd()();
469
+ i0.ɵɵelementStart(46, "div", 25)(47, "label");
470
+ i0.ɵɵtext(48, "User ID");
471
+ i0.ɵɵelementEnd();
472
+ i0.ɵɵelementStart(49, "span", 26);
473
+ i0.ɵɵtext(50);
474
+ i0.ɵɵelementEnd()();
475
+ i0.ɵɵelementStart(51, "div", 25)(52, "label");
476
+ i0.ɵɵtext(53, "Result Code");
477
+ i0.ɵɵelementEnd();
478
+ i0.ɵɵelementStart(54, "span", 27);
479
+ i0.ɵɵelement(55, "i", 13);
480
+ i0.ɵɵelementStart(56, "span");
481
+ i0.ɵɵtext(57);
482
+ i0.ɵɵelementEnd()()();
483
+ i0.ɵɵelementStart(58, "div", 25)(59, "label");
484
+ i0.ɵɵtext(60, "Duration");
485
+ i0.ɵɵelementEnd();
486
+ i0.ɵɵelementStart(61, "span");
487
+ i0.ɵɵtext(62);
488
+ i0.ɵɵelementEnd()();
489
+ i0.ɵɵelementStart(63, "div", 25)(64, "label");
490
+ i0.ɵɵtext(65, "Retention Period");
491
+ i0.ɵɵelementEnd();
492
+ i0.ɵɵelementStart(66, "span");
493
+ i0.ɵɵtext(67);
494
+ i0.ɵɵelementEnd()()()();
495
+ i0.ɵɵconditionalCreate(68, MJActionExecutionLogFormComponentExtended_Conditional_68_Template, 9, 5, "mj-accordion-panel", 22);
496
+ i0.ɵɵconditionalCreate(69, MJActionExecutionLogFormComponentExtended_Conditional_69_Template, 9, 5, "mj-accordion-panel", 22);
497
+ i0.ɵɵconditionalCreate(70, MJActionExecutionLogFormComponentExtended_Conditional_70_Template, 9, 5, "mj-accordion-panel", 22);
498
+ i0.ɵɵconditionalCreate(71, MJActionExecutionLogFormComponentExtended_Conditional_71_Template, 9, 5, "mj-accordion-panel", 22);
499
+ i0.ɵɵconditionalCreate(72, MJActionExecutionLogFormComponentExtended_Conditional_72_Template, 6, 1, "mj-accordion-panel", 22);
521
500
  i0.ɵɵelementEnd()()()();
522
501
  } if (rf & 2) {
523
502
  i0.ɵɵadvance(11);
@@ -533,28 +512,43 @@ let MJActionExecutionLogFormComponentExtended = class MJActionExecutionLogFormCo
533
512
  i0.ɵɵadvance(3);
534
513
  i0.ɵɵtextInterpolate1(" ", ctx.formatDuration(ctx.getExecutionDuration()), " ");
535
514
  i0.ɵɵadvance(6);
536
- i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(27, 17, ctx.record.StartedAt, "short"));
515
+ i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(27, 27, ctx.record.StartedAt, "short"));
537
516
  i0.ɵɵadvance(2);
538
517
  i0.ɵɵconditional(ctx.record.EndedAt ? 28 : -1);
539
518
  i0.ɵɵadvance();
540
519
  i0.ɵɵconditional(ctx.action ? 29 : -1);
541
520
  i0.ɵɵadvance();
542
521
  i0.ɵɵconditional(ctx.user ? 30 : -1);
543
- i0.ɵɵadvance(2);
544
- i0.ɵɵproperty("keepItemContent", true);
522
+ i0.ɵɵadvance(3);
523
+ i0.ɵɵproperty("Expanded", true);
524
+ i0.ɵɵadvance(7);
525
+ i0.ɵɵtextInterpolate(ctx.record.ID);
526
+ i0.ɵɵadvance(5);
527
+ i0.ɵɵtextInterpolate(ctx.record.ActionID);
528
+ i0.ɵɵadvance(5);
529
+ i0.ɵɵtextInterpolate(ctx.record.UserID);
530
+ i0.ɵɵadvance(5);
531
+ i0.ɵɵstyleProp("color", ctx.getResultCodeColor());
532
+ i0.ɵɵproperty("ngClass", ctx.getResultCodeIcon());
545
533
  i0.ɵɵadvance();
546
- i0.ɵɵproperty("expanded", true);
547
- i0.ɵɵadvance(2);
548
- i0.ɵɵconditional(ctx.hasInputParams && ctx.formattedInputParams ? 35 : -1);
534
+ i0.ɵɵstyleProp("color", ctx.getResultCodeColor());
535
+ i0.ɵɵadvance();
536
+ i0.ɵɵtextInterpolate(ctx.record.ResultCode || "N/A");
537
+ i0.ɵɵadvance(5);
538
+ i0.ɵɵtextInterpolate(ctx.formatDuration(ctx.getExecutionDuration()));
539
+ i0.ɵɵadvance(5);
540
+ i0.ɵɵtextInterpolate(ctx.record.RetentionPeriod ? ctx.record.RetentionPeriod + " days" : "Indefinite");
541
+ i0.ɵɵadvance();
542
+ i0.ɵɵconditional(ctx.hasInputParams && ctx.formattedInputParams ? 68 : -1);
549
543
  i0.ɵɵadvance();
550
- i0.ɵɵconditional(ctx.hasOutputParams && ctx.formattedOutputParams ? 36 : -1);
544
+ i0.ɵɵconditional(ctx.hasOutputParams && ctx.formattedOutputParams ? 69 : -1);
551
545
  i0.ɵɵadvance();
552
- i0.ɵɵconditional(ctx.hasBothParams && ctx.formattedBothParams ? 37 : -1);
546
+ i0.ɵɵconditional(ctx.hasBothParams && ctx.formattedBothParams ? 70 : -1);
553
547
  i0.ɵɵadvance();
554
- i0.ɵɵconditional(ctx.record.Message ? 38 : -1);
548
+ i0.ɵɵconditional(ctx.record.Message ? 71 : -1);
555
549
  i0.ɵɵadvance();
556
- i0.ɵɵconditional(!ctx.record.Params && !ctx.record.Message && !ctx.hasInputParams && !ctx.hasOutputParams && !ctx.hasBothParams ? 39 : -1);
557
- } }, dependencies: [i1.NgClass, i2.NgControlStatus, i2.NgModel, i3.PanelBarComponent, i3.PanelBarItemComponent, i3.PanelBarContentDirective, i4.CodeEditorComponent, i1.DatePipe], styles: ["\n\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.action-execution-log-form[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n}\n\n\n\n.header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 20px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-status-info);\n border-radius: var(--mj-radius-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: var(--mj-text-xl);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.header-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-2xl);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.meta-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.action-name[_ngcontent-%COMP%] {\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.log-id[_ngcontent-%COMP%] {\n font-family: monospace;\n font-size: var(--mj-text-xs);\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: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-inverse);\n}\n\n.execution-time[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n\n\n.content-area[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: var(--mj-font-semibold);\n}\n\n.detail-value[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--mj-text-primary);\n}\n\n.btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: var(--mj-text-sm);\n padding: 4px;\n}\n\n.btn-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary-hover);\n}\n\n.loading[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n}\n\n\n\n.json-viewer[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: var(--mj-radius-md);\n margin-bottom: 20px;\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: var(--mj-status-info);\n color: var(--mj-text-inverse);\n padding: 4px 12px;\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: var(--mj-font-semibold);\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 var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all var(--mj-transition-base);\n color: var(--mj-text-muted);\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\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: var(--mj-status-success);\n color: var(--mj-text-inverse);\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: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"warning\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-color-warning-800);\n}\n\n.status-badge[data-status=\"info\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"running\"][_ngcontent-%COMP%] {\n background-color: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[_ngcontent-%COMP%] {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n\n\n .k-panelbar {\n background: var(--mj-bg-surface-card) !important;\n border-color: var(--mj-border-default) !important;\n color: var(--mj-text-primary) !important;\n}\n\n .k-panelbar > .k-panelbar-header > .k-link {\n background: var(--mj-bg-surface-elevated) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n padding: 12px 16px;\n font-weight: var(--mj-font-semibold);\n}\n\n .k-panelbar > .k-panelbar-header > .k-link:hover {\n background: var(--mj-bg-surface-hover) !important;\n}\n\n .k-panelbar > .k-panelbar-header > .k-link .k-icon, \n .k-panelbar > .k-panelbar-header > .k-link .k-svg-icon {\n color: var(--mj-text-muted) !important;\n}\n\n .k-panelbar-item-content, \n .k-panelbar > .k-item > .k-animation-container .k-panelbar-item-content {\n padding: 0;\n background: var(--mj-bg-surface-card) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n}\n\n.k-panelbar[_ngcontent-%COMP%] > .k-item[_ngcontent-%COMP%] > .k-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: var(--mj-text-5xl);\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace[_ngcontent-%COMP%] {\n font-family: 'Courier New', Courier, monospace;\n font-size: var(--mj-text-xs);\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}"] }); }
550
+ i0.ɵɵconditional(!ctx.record.Params && !ctx.record.Message && !ctx.hasInputParams && !ctx.hasOutputParams && !ctx.hasBothParams ? 72 : -1);
551
+ } }, dependencies: [i1.NgClass, i2.NgControlStatus, i2.NgModel, i3.MJAccordionPanelComponent, i3.MJAccordionTitleDirective, i4.CodeEditorComponent, i1.DatePipe], styles: ["\n\n[_nghost-%COMP%] {\n display: block;\n height: 100%;\n}\n\n.action-execution-log-form[_ngcontent-%COMP%] {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n}\n\n\n\n.header[_ngcontent-%COMP%] {\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 20px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-status-info);\n border-radius: var(--mj-radius-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: var(--mj-text-xl);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.header-info[_ngcontent-%COMP%] h2[_ngcontent-%COMP%] {\n margin: 0;\n font-size: var(--mj-text-2xl);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.meta-info[_ngcontent-%COMP%] {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.action-name[_ngcontent-%COMP%] {\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.log-id[_ngcontent-%COMP%] {\n font-family: monospace;\n font-size: var(--mj-text-xs);\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: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-inverse);\n}\n\n.execution-time[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.header-stats[_ngcontent-%COMP%] {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat[_ngcontent-%COMP%] .value[_ngcontent-%COMP%] {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.record-form[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n\n\n.content-area[_ngcontent-%COMP%] {\n flex: 1;\n min-height: 0;\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: var(--mj-font-semibold);\n}\n\n.detail-value[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--mj-text-primary);\n}\n\n.btn-link[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: var(--mj-text-sm);\n padding: 4px;\n}\n\n.btn-link[_ngcontent-%COMP%]:hover {\n color: var(--mj-brand-primary-hover);\n}\n\n.loading[_ngcontent-%COMP%] {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n}\n\n\n\n.json-viewer[_ngcontent-%COMP%] {\n padding: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: var(--mj-radius-md);\n margin-bottom: 20px;\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: var(--mj-status-info);\n color: var(--mj-text-inverse);\n padding: 4px 12px;\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: var(--mj-font-semibold);\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 var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all var(--mj-transition-base);\n color: var(--mj-text-muted);\n}\n\n.btn-icon[_ngcontent-%COMP%]:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\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: var(--mj-status-success);\n color: var(--mj-text-inverse);\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: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"warning\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"pending\"][_ngcontent-%COMP%] {\n background-color: var(--mj-status-warning);\n color: var(--mj-color-warning-800);\n}\n\n.status-badge[data-status=\"info\"][_ngcontent-%COMP%], \n.status-badge[data-status=\"running\"][_ngcontent-%COMP%] {\n background-color: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[_ngcontent-%COMP%] {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n\n\n .k-panelbar {\n background: var(--mj-bg-surface-card) !important;\n border-color: var(--mj-border-default) !important;\n color: var(--mj-text-primary) !important;\n}\n\n .k-panelbar > .k-panelbar-header > .k-link {\n background: var(--mj-bg-surface-elevated) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n padding: 12px 16px;\n font-weight: var(--mj-font-semibold);\n}\n\n .k-panelbar > .k-panelbar-header > .k-link:hover {\n background: var(--mj-bg-surface-hover) !important;\n}\n\n .k-panelbar > .k-panelbar-header > .k-link .k-icon, \n .k-panelbar > .k-panelbar-header > .k-link .k-svg-icon {\n color: var(--mj-text-muted) !important;\n}\n\n .k-panelbar-item-content, \n .k-panelbar > .k-item > .k-animation-container .k-panelbar-item-content {\n padding: 0;\n background: var(--mj-bg-surface-card) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n}\n\n.k-panelbar[_ngcontent-%COMP%] > .k-item[_ngcontent-%COMP%] > .k-link[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n\n\n.empty-state[_ngcontent-%COMP%] {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-muted);\n}\n\n.empty-state[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: var(--mj-text-5xl);\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace[_ngcontent-%COMP%] {\n font-family: 'Courier New', Courier, monospace;\n font-size: var(--mj-text-xs);\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}"] }); }
558
552
  };
559
553
  MJActionExecutionLogFormComponentExtended = __decorate([
560
554
  RegisterClass(BaseFormComponent, 'MJ: Action Execution Logs')
@@ -562,7 +556,7 @@ MJActionExecutionLogFormComponentExtended = __decorate([
562
556
  export { MJActionExecutionLogFormComponentExtended };
563
557
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MJActionExecutionLogFormComponentExtended, [{
564
558
  type: Component,
565
- args: [{ standalone: false, selector: 'mj-action-execution-log-form', template: "<div class=\"record-form-container action-execution-log-form\" style=\"height: 100%; display: flex; flex-direction: column;\">\n <div class=\"record-form\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\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 [keepItemContent]=\"true\">\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 Only -->\n @if (hasInputParams && formattedInputParams) {\n <kendo-panelbar-item title=\"Input Parameters\" [expanded]=\"expandedSections.inputParams\">\n <ng-template kendoPanelBarContent>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Input Parameters Only)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedInputParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedInputParams\"\n name=\"formattedInputParams\"\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 Parameters Only -->\n @if (hasOutputParams && formattedOutputParams) {\n <kendo-panelbar-item title=\"Output Parameters\" [expanded]=\"expandedSections.outputParams\">\n <ng-template kendoPanelBarContent>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Output Parameters Only)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedOutputParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedOutputParams\"\n name=\"formattedOutputParams\"\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 <!-- Input+Output Parameters -->\n @if (hasBothParams && formattedBothParams) {\n <kendo-panelbar-item title=\"Input+Output Parameters\" [expanded]=\"expandedSections.bothParams\">\n <ng-template kendoPanelBarContent>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Input+Output Parameters)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedBothParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedBothParams\"\n name=\"formattedBothParams\"\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 && !hasInputParams && !hasOutputParams && !hasBothParams) {\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 execution data 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:host {\n display: block;\n height: 100%;\n}\n\n.action-execution-log-form {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n}\n\n/* Header Styles */\n.header {\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 20px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-status-info);\n border-radius: var(--mj-radius-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: var(--mj-text-xl);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.header-info h2 {\n margin: 0;\n font-size: var(--mj-text-2xl);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.meta-info {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.action-name {\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.log-id {\n font-family: monospace;\n font-size: var(--mj-text-xs);\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: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-inverse);\n}\n\n.execution-time {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.header-stats {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.stat {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat .label {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat .value {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.record-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n/* Content Area */\n.content-area {\n flex: 1;\n min-height: 0;\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: var(--mj-font-semibold);\n}\n\n.detail-value {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--mj-text-primary);\n}\n\n.btn-link {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: var(--mj-text-sm);\n padding: 4px;\n}\n\n.btn-link:hover {\n color: var(--mj-brand-primary-hover);\n}\n\n.loading {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n}\n\n/* JSON Viewer */\n.json-viewer {\n padding: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: var(--mj-radius-md);\n margin-bottom: 20px;\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: var(--mj-status-info);\n color: var(--mj-text-inverse);\n padding: 4px 12px;\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.btn-icon {\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all var(--mj-transition-base);\n color: var(--mj-text-muted);\n}\n\n.btn-icon:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\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: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"error\"],\n.status-badge[data-status=\"failed\"],\n.status-badge[data-status=\"failure\"] {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"warning\"],\n.status-badge[data-status=\"pending\"] {\n background-color: var(--mj-status-warning);\n color: var(--mj-color-warning-800);\n}\n\n.status-badge[data-status=\"info\"],\n.status-badge[data-status=\"running\"] {\n background-color: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-badge {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n/* Panel Bar overrides */\n::ng-deep .k-panelbar {\n background: var(--mj-bg-surface-card) !important;\n border-color: var(--mj-border-default) !important;\n color: var(--mj-text-primary) !important;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link {\n background: var(--mj-bg-surface-elevated) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n padding: 12px 16px;\n font-weight: var(--mj-font-semibold);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link:hover {\n background: var(--mj-bg-surface-hover) !important;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link .k-icon,\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link .k-svg-icon {\n color: var(--mj-text-muted) !important;\n}\n\n::ng-deep .k-panelbar-item-content,\n::ng-deep .k-panelbar > .k-item > .k-animation-container .k-panelbar-item-content {\n padding: 0;\n background: var(--mj-bg-surface-card) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n}\n\n.k-panelbar > .k-item > .k-link i {\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n/* Empty state */\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-muted);\n}\n\n.empty-state i {\n font-size: var(--mj-text-5xl);\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace {\n font-family: 'Courier New', Courier, monospace;\n font-size: var(--mj-text-xs);\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}\n"] }]
559
+ args: [{ standalone: false, selector: 'mj-action-execution-log-form', template: "<div class=\"record-form-container action-execution-log-form\" style=\"height: 100%; display: flex; flex-direction: column;\">\n <div class=\"record-form\" style=\"display: flex; flex-direction: column; height: 100%; overflow: hidden;\">\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 <div class=\"accordion-container\">\n <!-- Execution Details -->\n <mj-accordion-panel [Expanded]=\"true\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-info-circle\"></i> Execution Details\n </ng-template>\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 </mj-accordion-panel>\n\n <!-- Input Parameters Only -->\n @if (hasInputParams && formattedInputParams) {\n <mj-accordion-panel [Expanded]=\"expandedSections.inputParams\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-sign-in-alt\"></i> Input Parameters\n </ng-template>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Input Parameters Only)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedInputParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedInputParams\"\n name=\"formattedInputParams\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Output Parameters Only -->\n @if (hasOutputParams && formattedOutputParams) {\n <mj-accordion-panel [Expanded]=\"expandedSections.outputParams\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-sign-out-alt\"></i> Output Parameters\n </ng-template>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Output Parameters Only)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedOutputParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedOutputParams\"\n name=\"formattedOutputParams\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Input+Output Parameters -->\n @if (hasBothParams && formattedBothParams) {\n <mj-accordion-panel [Expanded]=\"expandedSections.bothParams\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-exchange-alt\"></i> Input+Output Parameters\n </ng-template>\n <div class=\"json-viewer\">\n <div class=\"json-toolbar\">\n <span class=\"json-label\">JSON (Input+Output Parameters)</span>\n <button class=\"btn-icon\" title=\"Copy JSON\" (click)=\"copyToClipboard(formattedBothParams)\">\n <i class=\"fas fa-copy\"></i>\n </button>\n </div>\n <mj-code-editor \n [(ngModel)]=\"formattedBothParams\"\n name=\"formattedBothParams\"\n [readonly]=\"true\"\n [language]=\"'json'\"\n [lineWrapping]=\"true\"\n style=\"height: 300px; width: 100%;\">\n </mj-code-editor>\n </div>\n </mj-accordion-panel>\n }\n\n <!-- Output Message -->\n @if (record.Message) {\n <mj-accordion-panel [Expanded]=\"expandedSections.output\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-comment-alt\"></i> Output Message\n </ng-template>\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 </mj-accordion-panel>\n }\n\n <!-- Empty States for missing data -->\n @if (!record.Params && !record.Message && !hasInputParams && !hasOutputParams && !hasBothParams) {\n <mj-accordion-panel [Expanded]=\"true\">\n <ng-template mjAccordionTitle>\n <i class=\"fas fa-database\"></i> Execution Data\n </ng-template>\n <div class=\"empty-state\">\n <i class=\"fas fa-inbox\"></i>\n <p>No execution data recorded</p>\n </div>\n </mj-accordion-panel>\n }\n </div>\n </div>\n </div>\n</div>", styles: ["/* Action Execution Log Form Styles */\n:host {\n display: block;\n height: 100%;\n}\n\n.action-execution-log-form {\n height: 100%;\n display: flex;\n flex-direction: column;\n overflow: hidden;\n background: var(--mj-bg-page);\n color: var(--mj-text-primary);\n}\n\n/* Header Styles */\n.header {\n background: var(--mj-bg-surface-card);\n border-bottom: 1px solid var(--mj-border-default);\n padding: 20px;\n box-shadow: var(--mj-shadow-sm);\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: var(--mj-status-info);\n border-radius: var(--mj-radius-lg);\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--mj-text-inverse);\n font-size: var(--mj-text-xl);\n box-shadow: var(--mj-shadow-sm);\n}\n\n.header-info h2 {\n margin: 0;\n font-size: var(--mj-text-2xl);\n font-weight: var(--mj-font-semibold);\n color: var(--mj-text-primary);\n}\n\n.meta-info {\n display: flex;\n gap: 12px;\n margin-top: 4px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.action-name {\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.log-id {\n font-family: monospace;\n font-size: var(--mj-text-xs);\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: var(--mj-radius-full);\n font-size: var(--mj-text-xs);\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n display: inline-flex;\n align-items: center;\n gap: 6px;\n color: var(--mj-text-inverse);\n}\n\n.execution-time {\n display: flex;\n align-items: center;\n gap: 6px;\n font-size: var(--mj-text-sm);\n color: var(--mj-text-muted);\n}\n\n.header-stats {\n display: flex;\n gap: 24px;\n padding-top: 12px;\n border-top: 1px solid var(--mj-border-default);\n}\n\n.stat {\n display: flex;\n flex-direction: column;\n gap: 4px;\n}\n\n.stat .label {\n font-size: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.stat .value {\n font-size: var(--mj-text-sm);\n font-weight: var(--mj-font-medium);\n color: var(--mj-text-secondary);\n}\n\n.record-form {\n display: flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n/* Content Area */\n.content-area {\n flex: 1;\n min-height: 0;\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: var(--mj-text-xs);\n color: var(--mj-text-muted);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n font-weight: var(--mj-font-semibold);\n}\n\n.detail-value {\n display: flex;\n align-items: center;\n gap: 8px;\n color: var(--mj-text-primary);\n}\n\n.btn-link {\n background: none;\n border: none;\n color: var(--mj-brand-primary);\n cursor: pointer;\n font-size: var(--mj-text-sm);\n padding: 4px;\n}\n\n.btn-link:hover {\n color: var(--mj-brand-primary-hover);\n}\n\n.loading {\n color: var(--mj-text-muted);\n font-size: var(--mj-text-xs);\n}\n\n/* JSON Viewer */\n.json-viewer {\n padding: 20px;\n background: var(--mj-bg-surface-sunken);\n border-radius: var(--mj-radius-md);\n margin-bottom: 20px;\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: var(--mj-status-info);\n color: var(--mj-text-inverse);\n padding: 4px 12px;\n border-radius: var(--mj-radius-full);\n font-size: 11px;\n font-weight: var(--mj-font-semibold);\n text-transform: uppercase;\n letter-spacing: 0.5px;\n}\n\n.btn-icon {\n width: 32px;\n height: 32px;\n border: 1px solid var(--mj-border-default);\n background: var(--mj-bg-surface);\n border-radius: var(--mj-radius-sm);\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: all var(--mj-transition-base);\n color: var(--mj-text-muted);\n}\n\n.btn-icon:hover {\n background: var(--mj-bg-surface-hover);\n border-color: var(--mj-border-strong);\n color: var(--mj-text-secondary);\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: var(--mj-status-success);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"error\"],\n.status-badge[data-status=\"failed\"],\n.status-badge[data-status=\"failure\"] {\n background-color: var(--mj-status-error);\n color: var(--mj-text-inverse);\n}\n\n.status-badge[data-status=\"warning\"],\n.status-badge[data-status=\"pending\"] {\n background-color: var(--mj-status-warning);\n color: var(--mj-color-warning-800);\n}\n\n.status-badge[data-status=\"info\"],\n.status-badge[data-status=\"running\"] {\n background-color: var(--mj-status-info);\n color: var(--mj-text-inverse);\n}\n\n.status-badge {\n background-color: var(--mj-text-muted);\n color: var(--mj-text-inverse);\n}\n\n/* Panel Bar overrides */\n::ng-deep .k-panelbar {\n background: var(--mj-bg-surface-card) !important;\n border-color: var(--mj-border-default) !important;\n color: var(--mj-text-primary) !important;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link {\n background: var(--mj-bg-surface-elevated) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n padding: 12px 16px;\n font-weight: var(--mj-font-semibold);\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link:hover {\n background: var(--mj-bg-surface-hover) !important;\n}\n\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link .k-icon,\n::ng-deep .k-panelbar > .k-panelbar-header > .k-link .k-svg-icon {\n color: var(--mj-text-muted) !important;\n}\n\n::ng-deep .k-panelbar-item-content,\n::ng-deep .k-panelbar > .k-item > .k-animation-container .k-panelbar-item-content {\n padding: 0;\n background: var(--mj-bg-surface-card) !important;\n color: var(--mj-text-primary) !important;\n border-color: var(--mj-border-default) !important;\n}\n\n.k-panelbar > .k-item > .k-link i {\n margin-right: 8px;\n color: var(--mj-text-muted);\n}\n\n/* Empty state */\n.empty-state {\n text-align: center;\n padding: 40px;\n color: var(--mj-text-muted);\n}\n\n.empty-state i {\n font-size: var(--mj-text-5xl);\n opacity: 0.3;\n margin-bottom: 16px;\n}\n\n.monospace {\n font-family: 'Courier New', Courier, monospace;\n font-size: var(--mj-text-xs);\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}\n"] }]
566
560
  }], null, null); })();
567
561
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MJActionExecutionLogFormComponentExtended, { className: "MJActionExecutionLogFormComponentExtended", filePath: "src/lib/custom/Actions/action-execution-log-form.component.ts", lineNumber: 22 }); })();
568
562
  //# sourceMappingURL=action-execution-log-form.component.js.map