@memberjunction/ng-skip-chat 2.69.1 → 2.71.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts +46 -29
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts.map +1 -1
- package/dist/lib/dynamic-report/dynamic-ui-component.js +299 -410
- package/dist/lib/dynamic-report/dynamic-ui-component.js.map +1 -1
- package/dist/lib/module.d.ts +3 -2
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +5 -1
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.d.ts +0 -15
- package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.js +27 -691
- package/dist/lib/skip-chat/skip-chat.component.js.map +1 -1
- package/package.json +15 -17
- package/dist/lib/dynamic-report/skip-react-component-host.d.ts +0 -237
- package/dist/lib/dynamic-report/skip-react-component-host.d.ts.map +0 -1
- package/dist/lib/dynamic-report/skip-react-component-host.js +0 -2012
- package/dist/lib/dynamic-report/skip-react-component-host.js.map +0 -1
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { Component, EventEmitter, Input, Output, ViewChildren, HostListener } from '@angular/core';
|
|
2
|
-
import { CompositeKey, LogError, Metadata
|
|
3
|
-
import {
|
|
4
|
-
import { MapEntityInfoToSkipEntityInfo, BuildSkipComponentCompleteCode } from '@memberjunction/skip-types';
|
|
2
|
+
import { CompositeKey, LogError, Metadata } from '@memberjunction/core';
|
|
3
|
+
import { BuildComponentCompleteCode } from '@memberjunction/interactive-component-types';
|
|
5
4
|
import { DrillDownInfo } from '../drill-down-info';
|
|
6
5
|
import { marked } from 'marked';
|
|
6
|
+
import { MJReactComponent } from '@memberjunction/ng-react';
|
|
7
|
+
import { createRuntimeUtilities, SetupStyles } from '@memberjunction/react-runtime';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "@angular/platform-browser";
|
|
9
10
|
import * as i2 from "@angular/common";
|
|
10
11
|
import * as i3 from "@progress/kendo-angular-layout";
|
|
11
12
|
import * as i4 from "@progress/kendo-angular-buttons";
|
|
12
13
|
import * as i5 from "@memberjunction/ng-code-editor";
|
|
13
|
-
|
|
14
|
+
import * as i6 from "@memberjunction/ng-react";
|
|
15
|
+
const _c0 = () => ({});
|
|
14
16
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
-
i0.ɵɵelement(0, "i",
|
|
17
|
+
i0.ɵɵelement(0, "i", 6);
|
|
16
18
|
} }
|
|
17
19
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
18
|
-
i0.ɵɵtemplate(0, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Conditional_0_Template, 1, 0, "i",
|
|
20
|
+
i0.ɵɵtemplate(0, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Conditional_0_Template, 1, 0, "i", 6);
|
|
19
21
|
i0.ɵɵtext(1);
|
|
20
22
|
} if (rf & 2) {
|
|
21
23
|
const ɵ$index_4_r3 = i0.ɵɵnextContext().$index;
|
|
@@ -49,7 +51,7 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_butto
|
|
|
49
51
|
i0.ɵɵelementEnd()();
|
|
50
52
|
} }
|
|
51
53
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
52
|
-
i0.ɵɵelement(0, "i",
|
|
54
|
+
i0.ɵɵelement(0, "i", 10);
|
|
53
55
|
i0.ɵɵtext(1, " Functional Requirements ");
|
|
54
56
|
} }
|
|
55
57
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -63,14 +65,14 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
63
65
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedFunctionalRequirements(option_r6), i0.ɵɵsanitizeHtml);
|
|
64
66
|
} }
|
|
65
67
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
67
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_ng_template_1_Template, 2, 0, "ng-template",
|
|
68
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
69
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
68
70
|
i0.ɵɵelementEnd();
|
|
69
71
|
} if (rf & 2) {
|
|
70
72
|
i0.ɵɵproperty("selected", true);
|
|
71
73
|
} }
|
|
72
74
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
73
|
-
i0.ɵɵelement(0, "i",
|
|
75
|
+
i0.ɵɵelement(0, "i", 12);
|
|
74
76
|
i0.ɵɵtext(1, " Data Requirements ");
|
|
75
77
|
} }
|
|
76
78
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -84,15 +86,15 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
84
86
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedDataRequirements(option_r6), i0.ɵɵsanitizeHtml);
|
|
85
87
|
} }
|
|
86
88
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
87
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
88
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_ng_template_1_Template, 2, 0, "ng-template",
|
|
89
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
90
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
89
91
|
i0.ɵɵelementEnd();
|
|
90
92
|
} if (rf & 2) {
|
|
91
93
|
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
92
94
|
i0.ɵɵproperty("selected", !ctx_r1.showFunctionalRequirements);
|
|
93
95
|
} }
|
|
94
96
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
95
|
-
i0.ɵɵelement(0, "i",
|
|
97
|
+
i0.ɵɵelement(0, "i", 14);
|
|
96
98
|
i0.ɵɵtext(1, " Technical Design ");
|
|
97
99
|
} }
|
|
98
100
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -106,15 +108,15 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
106
108
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedTechnicalDesign(option_r6), i0.ɵɵsanitizeHtml);
|
|
107
109
|
} }
|
|
108
110
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
110
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_ng_template_1_Template, 2, 0, "ng-template",
|
|
111
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
112
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
111
113
|
i0.ɵɵelementEnd();
|
|
112
114
|
} if (rf & 2) {
|
|
113
115
|
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
114
116
|
i0.ɵɵproperty("selected", !ctx_r1.showFunctionalRequirements && !ctx_r1.showDataRequirements);
|
|
115
117
|
} }
|
|
116
118
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
117
|
-
i0.ɵɵelement(0, "i",
|
|
119
|
+
i0.ɵɵelement(0, "i", 16);
|
|
118
120
|
i0.ɵɵtext(1, " Code ");
|
|
119
121
|
} }
|
|
120
122
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -128,8 +130,8 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
128
130
|
i0.ɵɵproperty("value", ctx_r1.getComponentCode(option_r6))("language", "javascript")("autoFocus", false)("indentWithTab", true)("readonly", true);
|
|
129
131
|
} }
|
|
130
132
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
131
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
132
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_ng_template_1_Template, 2, 0, "ng-template",
|
|
133
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
134
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_ng_template_2_Template, 2, 5, "ng-template", 5);
|
|
133
135
|
i0.ɵɵelementEnd();
|
|
134
136
|
} if (rf & 2) {
|
|
135
137
|
const ctx_r1 = i0.ɵɵnextContext(5);
|
|
@@ -138,7 +140,7 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
138
140
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
139
141
|
const _r8 = i0.ɵɵgetCurrentView();
|
|
140
142
|
i0.ɵɵelementStart(0, "div", 28)(1, "kendo-tabstrip", 29);
|
|
141
|
-
i0.ɵɵtemplate(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_Template, 3, 1, "kendo-tabstrip-tab",
|
|
143
|
+
i0.ɵɵtemplate(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_2_Template, 3, 1, "kendo-tabstrip-tab", 3)(3, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_3_Template, 3, 1, "kendo-tabstrip-tab", 3)(4, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_4_Template, 3, 1, "kendo-tabstrip-tab", 3)(5, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Conditional_5_Template, 3, 1, "kendo-tabstrip-tab", 3);
|
|
142
144
|
i0.ɵɵelementEnd()();
|
|
143
145
|
i0.ɵɵelementStart(6, "div", 30);
|
|
144
146
|
i0.ɵɵlistener("mousedown", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Template_div_mousedown_6_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.startResize($event)); })("touchstart", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Template_div_touchstart_6_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.startResize($event)); });
|
|
@@ -156,11 +158,21 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
156
158
|
i0.ɵɵadvance();
|
|
157
159
|
i0.ɵɵconditional(ctx_r1.showCode ? 5 : -1);
|
|
158
160
|
} }
|
|
161
|
+
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template(rf, ctx) { if (rf & 1) {
|
|
162
|
+
const _r9 = i0.ɵɵgetCurrentView();
|
|
163
|
+
i0.ɵɵelementStart(0, "mj-react-component", 36);
|
|
164
|
+
i0.ɵɵlistener("stateChange", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template_mj_react_component_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ɵ$index_4_r3 = i0.ɵɵnextContext(2).$index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onStateChange(ɵ$index_4_r3, $event)); })("componentEvent", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template_mj_react_component_componentEvent_0_listener($event) { i0.ɵɵrestoreView(_r9); const ɵ$index_4_r3 = i0.ɵɵnextContext(2).$index; const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.onComponentEvent(ɵ$index_4_r3, $event)); })("refreshData", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template_mj_react_component_refreshData_0_listener() { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.handleRefreshData()); })("openEntityRecord", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template_mj_react_component_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); });
|
|
165
|
+
i0.ɵɵelementEnd();
|
|
166
|
+
} if (rf & 2) {
|
|
167
|
+
const ɵ$index_4_r3 = i0.ɵɵnextContext(2).$index;
|
|
168
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
169
|
+
i0.ɵɵproperty("component", ctx_r1.componentSpecs.get(ɵ$index_4_r3))("data", ctx_r1.getFlattenedDataContext())("state", ctx_r1.userStates.get(ɵ$index_4_r3) || i0.ɵɵpureFunction0(5, _c0))("utilities", ctx_r1.utilities)("styles", ctx_r1.componentStyles || undefined);
|
|
170
|
+
} }
|
|
159
171
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
160
|
-
i0.ɵɵelementStart(0, "details",
|
|
172
|
+
i0.ɵɵelementStart(0, "details", 45)(1, "summary", 51);
|
|
161
173
|
i0.ɵɵtext(2, "Technical Details (click to expand)");
|
|
162
174
|
i0.ɵɵelementEnd();
|
|
163
|
-
i0.ɵɵelementStart(3, "pre",
|
|
175
|
+
i0.ɵɵelementStart(3, "pre", 52);
|
|
164
176
|
i0.ɵɵtext(4);
|
|
165
177
|
i0.ɵɵelementEnd()();
|
|
166
178
|
} if (rf & 2) {
|
|
@@ -169,20 +181,20 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
169
181
|
i0.ɵɵtextInterpolate(ctx_r1.currentError.technicalDetails);
|
|
170
182
|
} }
|
|
171
183
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
172
|
-
const
|
|
173
|
-
i0.ɵɵelementStart(0, "div", 23)(1, "div",
|
|
174
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template_button_click_3_listener() { i0.ɵɵrestoreView(
|
|
175
|
-
i0.ɵɵelement(4, "span",
|
|
184
|
+
const _r10 = i0.ɵɵgetCurrentView();
|
|
185
|
+
i0.ɵɵelementStart(0, "div", 23)(1, "div", 37)(2, "div", 38)(3, "button", 39);
|
|
186
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.copyErrorToClipboard()); });
|
|
187
|
+
i0.ɵɵelement(4, "span", 40);
|
|
176
188
|
i0.ɵɵtext(5, " Copy Error Details ");
|
|
177
189
|
i0.ɵɵelementEnd();
|
|
178
|
-
i0.ɵɵelementStart(6, "h3",
|
|
179
|
-
i0.ɵɵelement(7, "span",
|
|
190
|
+
i0.ɵɵelementStart(6, "h3", 41);
|
|
191
|
+
i0.ɵɵelement(7, "span", 42);
|
|
180
192
|
i0.ɵɵtext(8, " Component Rendering Error ");
|
|
181
193
|
i0.ɵɵelementEnd()();
|
|
182
|
-
i0.ɵɵelementStart(9, "p",
|
|
194
|
+
i0.ɵɵelementStart(9, "p", 43);
|
|
183
195
|
i0.ɵɵtext(10, " The selected component option could not be rendered due to the following error: ");
|
|
184
196
|
i0.ɵɵelementEnd();
|
|
185
|
-
i0.ɵɵelementStart(11, "div",
|
|
197
|
+
i0.ɵɵelementStart(11, "div", 44)(12, "strong");
|
|
186
198
|
i0.ɵɵtext(13, "Error Type:");
|
|
187
199
|
i0.ɵɵelementEnd();
|
|
188
200
|
i0.ɵɵtext(14);
|
|
@@ -191,12 +203,12 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
191
203
|
i0.ɵɵtext(17, "Details:");
|
|
192
204
|
i0.ɵɵelementEnd();
|
|
193
205
|
i0.ɵɵtext(18);
|
|
194
|
-
i0.ɵɵtemplate(19, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Conditional_19_Template, 5, 1, "details",
|
|
206
|
+
i0.ɵɵtemplate(19, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Conditional_19_Template, 5, 1, "details", 45);
|
|
195
207
|
i0.ɵɵelementEnd();
|
|
196
|
-
i0.ɵɵelementStart(20, "div",
|
|
208
|
+
i0.ɵɵelementStart(20, "div", 46)(21, "strong", 47);
|
|
197
209
|
i0.ɵɵtext(22, "What to do:");
|
|
198
210
|
i0.ɵɵelementEnd();
|
|
199
|
-
i0.ɵɵelementStart(23, "ol",
|
|
211
|
+
i0.ɵɵelementStart(23, "ol", 48)(24, "li");
|
|
200
212
|
i0.ɵɵtext(25, "Try selecting a different report option from the tabs above");
|
|
201
213
|
i0.ɵɵelementEnd();
|
|
202
214
|
i0.ɵɵelementStart(26, "li");
|
|
@@ -205,9 +217,9 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
205
217
|
i0.ɵɵelementStart(28, "li");
|
|
206
218
|
i0.ɵɵtext(29, "Contact your IT department if the issue persists");
|
|
207
219
|
i0.ɵɵelementEnd()()();
|
|
208
|
-
i0.ɵɵelementStart(30, "button",
|
|
209
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template_button_click_30_listener() { i0.ɵɵrestoreView(
|
|
210
|
-
i0.ɵɵelement(31, "span",
|
|
220
|
+
i0.ɵɵelementStart(30, "button", 49);
|
|
221
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template_button_click_30_listener() { i0.ɵɵrestoreView(_r10); const ctx_r1 = i0.ɵɵnextContext(4); return i0.ɵɵresetView(ctx_r1.retryCurrentOption()); });
|
|
222
|
+
i0.ɵɵelement(31, "span", 50);
|
|
211
223
|
i0.ɵɵtext(32, " Retry ");
|
|
212
224
|
i0.ɵɵelementEnd()()();
|
|
213
225
|
} if (rf & 2) {
|
|
@@ -221,37 +233,37 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Condi
|
|
|
221
233
|
} }
|
|
222
234
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
223
235
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
224
|
-
i0.ɵɵelementStart(0, "div",
|
|
236
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 7)(2, "div", 8)(3, "button", 9);
|
|
225
237
|
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleShowFunctionalRequirements()); });
|
|
226
|
-
i0.ɵɵelement(4, "i",
|
|
238
|
+
i0.ɵɵelement(4, "i", 10);
|
|
227
239
|
i0.ɵɵelementStart(5, "span");
|
|
228
240
|
i0.ɵɵtext(6, "Functional");
|
|
229
241
|
i0.ɵɵelementEnd()();
|
|
230
|
-
i0.ɵɵelementStart(7, "button",
|
|
242
|
+
i0.ɵɵelementStart(7, "button", 11);
|
|
231
243
|
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleShowDataRequirements()); });
|
|
232
|
-
i0.ɵɵelement(8, "i",
|
|
244
|
+
i0.ɵɵelement(8, "i", 12);
|
|
233
245
|
i0.ɵɵelementStart(9, "span");
|
|
234
246
|
i0.ɵɵtext(10, "Data");
|
|
235
247
|
i0.ɵɵelementEnd()();
|
|
236
|
-
i0.ɵɵelementStart(11, "button",
|
|
248
|
+
i0.ɵɵelementStart(11, "button", 13);
|
|
237
249
|
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleShowTechnicalDesign()); });
|
|
238
|
-
i0.ɵɵelement(12, "i",
|
|
250
|
+
i0.ɵɵelement(12, "i", 14);
|
|
239
251
|
i0.ɵɵelementStart(13, "span");
|
|
240
252
|
i0.ɵɵtext(14, "Technical");
|
|
241
253
|
i0.ɵɵelementEnd()();
|
|
242
|
-
i0.ɵɵelementStart(15, "button",
|
|
254
|
+
i0.ɵɵelementStart(15, "button", 15);
|
|
243
255
|
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r4); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.toggleShowCode()); });
|
|
244
|
-
i0.ɵɵelement(16, "i",
|
|
256
|
+
i0.ɵɵelement(16, "i", 16);
|
|
245
257
|
i0.ɵɵelementStart(17, "span");
|
|
246
258
|
i0.ɵɵtext(18, "Code");
|
|
247
259
|
i0.ɵɵelementEnd()()();
|
|
248
|
-
i0.ɵɵelementStart(19, "div",
|
|
249
|
-
i0.ɵɵtemplate(20, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_button_20_Template, 4, 2, "button",
|
|
260
|
+
i0.ɵɵelementStart(19, "div", 17);
|
|
261
|
+
i0.ɵɵtemplate(20, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_button_20_Template, 4, 2, "button", 18)(21, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_button_21_Template, 4, 0, "button", 19);
|
|
250
262
|
i0.ɵɵelementEnd()();
|
|
251
|
-
i0.ɵɵelementStart(22, "div",
|
|
263
|
+
i0.ɵɵelementStart(22, "div", 20);
|
|
252
264
|
i0.ɵɵtemplate(23, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_23_Template, 8, 6);
|
|
253
|
-
i0.ɵɵelementStart(24, "div",
|
|
254
|
-
i0.ɵɵtemplate(26, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template, 33, 3, "div", 23);
|
|
265
|
+
i0.ɵɵelementStart(24, "div", 21);
|
|
266
|
+
i0.ɵɵtemplate(25, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_mj_react_component_25_Template, 1, 6, "mj-react-component", 22)(26, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Conditional_26_Template, 33, 3, "div", 23);
|
|
255
267
|
i0.ɵɵelementEnd()()();
|
|
256
268
|
} if (rf & 2) {
|
|
257
269
|
const ɵ$index_4_r3 = i0.ɵɵnextContext().$index;
|
|
@@ -272,12 +284,14 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Templ
|
|
|
272
284
|
i0.ɵɵconditional(ctx_r1.showFunctionalRequirements || ctx_r1.showDataRequirements || ctx_r1.showTechnicalDesign || ctx_r1.showCode ? 23 : -1);
|
|
273
285
|
i0.ɵɵadvance();
|
|
274
286
|
i0.ɵɵattribute("data-tab-index", ɵ$index_4_r3);
|
|
275
|
-
i0.ɵɵadvance(
|
|
287
|
+
i0.ɵɵadvance();
|
|
288
|
+
i0.ɵɵproperty("ngIf", !ctx_r1.currentError && ctx_r1.componentSpecs.has(ɵ$index_4_r3));
|
|
289
|
+
i0.ɵɵadvance();
|
|
276
290
|
i0.ɵɵconditional(ctx_r1.currentError && ctx_r1.selectedReportOptionIndex === ɵ$index_4_r3 ? 26 : -1);
|
|
277
291
|
} }
|
|
278
292
|
function SkipDynamicUIComponentComponent_Conditional_0_For_2_Template(rf, ctx) { if (rf & 1) {
|
|
279
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
280
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Template, 2, 2, "ng-template",
|
|
293
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
294
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_1_Template, 2, 2, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_0_For_2_ng_template_2_Template, 27, 14, "ng-template", 5);
|
|
281
295
|
i0.ɵɵelementEnd();
|
|
282
296
|
} if (rf & 2) {
|
|
283
297
|
const ɵ$index_4_r3 = ctx.$index;
|
|
@@ -286,9 +300,9 @@ function SkipDynamicUIComponentComponent_Conditional_0_For_2_Template(rf, ctx) {
|
|
|
286
300
|
} }
|
|
287
301
|
function SkipDynamicUIComponentComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
288
302
|
const _r1 = i0.ɵɵgetCurrentView();
|
|
289
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip",
|
|
303
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip", 2);
|
|
290
304
|
i0.ɵɵlistener("tabSelect", function SkipDynamicUIComponentComponent_Conditional_0_Template_kendo_tabstrip_tabSelect_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.onTabSelect($event)); });
|
|
291
|
-
i0.ɵɵrepeaterCreate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_Template, 3, 1, "kendo-tabstrip-tab",
|
|
305
|
+
i0.ɵɵrepeaterCreate(1, SkipDynamicUIComponentComponent_Conditional_0_For_2_Template, 3, 1, "kendo-tabstrip-tab", 3, i0.ɵɵrepeaterTrackByIdentity);
|
|
292
306
|
i0.ɵɵelementEnd();
|
|
293
307
|
} if (rf & 2) {
|
|
294
308
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -297,9 +311,9 @@ function SkipDynamicUIComponentComponent_Conditional_0_Template(rf, ctx) { if (r
|
|
|
297
311
|
i0.ɵɵrepeater(ctx_r1.reportOptions);
|
|
298
312
|
} }
|
|
299
313
|
function SkipDynamicUIComponentComponent_Conditional_1_button_20_Template(rf, ctx) { if (rf & 1) {
|
|
300
|
-
const
|
|
314
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
301
315
|
i0.ɵɵelementStart(0, "button", 24);
|
|
302
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_button_20_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
316
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_button_20_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.createReportForOption(0)); });
|
|
303
317
|
i0.ɵɵelement(1, "i", 25);
|
|
304
318
|
i0.ɵɵelementStart(2, "span");
|
|
305
319
|
i0.ɵɵtext(3);
|
|
@@ -308,19 +322,19 @@ function SkipDynamicUIComponentComponent_Conditional_1_button_20_Template(rf, ct
|
|
|
308
322
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
309
323
|
i0.ɵɵproperty("disabled", ctx_r1.isCreatingReport);
|
|
310
324
|
i0.ɵɵadvance(3);
|
|
311
|
-
i0.ɵɵtextInterpolate1("Create ", ctx_r1.
|
|
325
|
+
i0.ɵɵtextInterpolate1("Create ", ctx_r1.firstOptionComponentTypeName, "");
|
|
312
326
|
} }
|
|
313
327
|
function SkipDynamicUIComponentComponent_Conditional_1_button_21_Template(rf, ctx) { if (rf & 1) {
|
|
314
|
-
const
|
|
328
|
+
const _r13 = i0.ɵɵgetCurrentView();
|
|
315
329
|
i0.ɵɵelementStart(0, "button", 26);
|
|
316
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_button_21_Template_button_click_0_listener() { i0.ɵɵrestoreView(
|
|
330
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_button_21_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r13); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.PrintReport()); });
|
|
317
331
|
i0.ɵɵelement(1, "i", 27);
|
|
318
332
|
i0.ɵɵelementStart(2, "span");
|
|
319
333
|
i0.ɵɵtext(3, "Print Report");
|
|
320
334
|
i0.ɵɵelementEnd()();
|
|
321
335
|
} }
|
|
322
336
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
323
|
-
i0.ɵɵelement(0, "i",
|
|
337
|
+
i0.ɵɵelement(0, "i", 10);
|
|
324
338
|
i0.ɵɵtext(1, " Functional Requirements ");
|
|
325
339
|
} }
|
|
326
340
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -333,14 +347,14 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditiona
|
|
|
333
347
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedFunctionalRequirements(ctx_r1.reportOptions[0]), i0.ɵɵsanitizeHtml);
|
|
334
348
|
} }
|
|
335
349
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
336
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
337
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_ng_template_1_Template, 2, 0, "ng-template",
|
|
350
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
351
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
338
352
|
i0.ɵɵelementEnd();
|
|
339
353
|
} if (rf & 2) {
|
|
340
354
|
i0.ɵɵproperty("selected", true);
|
|
341
355
|
} }
|
|
342
356
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
343
|
-
i0.ɵɵelement(0, "i",
|
|
357
|
+
i0.ɵɵelement(0, "i", 12);
|
|
344
358
|
i0.ɵɵtext(1, " Data Requirements ");
|
|
345
359
|
} }
|
|
346
360
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -353,15 +367,15 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditiona
|
|
|
353
367
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedDataRequirements(ctx_r1.reportOptions[0]), i0.ɵɵsanitizeHtml);
|
|
354
368
|
} }
|
|
355
369
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_Template(rf, ctx) { if (rf & 1) {
|
|
356
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
357
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_ng_template_1_Template, 2, 0, "ng-template",
|
|
370
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
371
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
358
372
|
i0.ɵɵelementEnd();
|
|
359
373
|
} if (rf & 2) {
|
|
360
374
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
361
375
|
i0.ɵɵproperty("selected", !ctx_r1.showFunctionalRequirements);
|
|
362
376
|
} }
|
|
363
377
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
364
|
-
i0.ɵɵelement(0, "i",
|
|
378
|
+
i0.ɵɵelement(0, "i", 14);
|
|
365
379
|
i0.ɵɵtext(1, " Technical Design ");
|
|
366
380
|
} }
|
|
367
381
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -374,20 +388,20 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditiona
|
|
|
374
388
|
i0.ɵɵproperty("innerHTML", ctx_r1.getFormattedTechnicalDesign(ctx_r1.reportOptions[0]), i0.ɵɵsanitizeHtml);
|
|
375
389
|
} }
|
|
376
390
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
377
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
378
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_ng_template_1_Template, 2, 0, "ng-template",
|
|
391
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
392
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_ng_template_2_Template, 2, 1, "ng-template", 5);
|
|
379
393
|
i0.ɵɵelementEnd();
|
|
380
394
|
} if (rf & 2) {
|
|
381
395
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
382
396
|
i0.ɵɵproperty("selected", !ctx_r1.showFunctionalRequirements && !ctx_r1.showDataRequirements);
|
|
383
397
|
} }
|
|
384
398
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_ng_template_1_Template(rf, ctx) { if (rf & 1) {
|
|
385
|
-
i0.ɵɵelement(0, "i",
|
|
399
|
+
i0.ɵɵelement(0, "i", 16);
|
|
386
400
|
i0.ɵɵtext(1, " Code ");
|
|
387
401
|
} }
|
|
388
402
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_ng_template_2_Template(rf, ctx) { if (rf & 1) {
|
|
389
403
|
i0.ɵɵelementStart(0, "div", 34);
|
|
390
|
-
i0.ɵɵelement(1, "mj-code-editor",
|
|
404
|
+
i0.ɵɵelement(1, "mj-code-editor", 54);
|
|
391
405
|
i0.ɵɵelementEnd();
|
|
392
406
|
} if (rf & 2) {
|
|
393
407
|
const ctx_r1 = i0.ɵɵnextContext(4);
|
|
@@ -395,20 +409,20 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditiona
|
|
|
395
409
|
i0.ɵɵproperty("language", "javascript")("value", ctx_r1.getComponentCode(ctx_r1.reportOptions[0]))("autoFocus", false)("indentWithTab", true)("readonly", true);
|
|
396
410
|
} }
|
|
397
411
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_Template(rf, ctx) { if (rf & 1) {
|
|
398
|
-
i0.ɵɵelementStart(0, "kendo-tabstrip-tab",
|
|
399
|
-
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_ng_template_1_Template, 2, 0, "ng-template",
|
|
412
|
+
i0.ɵɵelementStart(0, "kendo-tabstrip-tab", 3);
|
|
413
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_ng_template_1_Template, 2, 0, "ng-template", 4)(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_ng_template_2_Template, 2, 5, "ng-template", 5);
|
|
400
414
|
i0.ɵɵelementEnd();
|
|
401
415
|
} if (rf & 2) {
|
|
402
416
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
403
417
|
i0.ɵɵproperty("selected", !ctx_r1.showFunctionalRequirements && !ctx_r1.showDataRequirements && !ctx_r1.showTechnicalDesign);
|
|
404
418
|
} }
|
|
405
419
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template(rf, ctx) { if (rf & 1) {
|
|
406
|
-
const
|
|
420
|
+
const _r14 = i0.ɵɵgetCurrentView();
|
|
407
421
|
i0.ɵɵelementStart(0, "div", 28)(1, "kendo-tabstrip", 29);
|
|
408
|
-
i0.ɵɵtemplate(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_Template, 3, 1, "kendo-tabstrip-tab",
|
|
422
|
+
i0.ɵɵtemplate(2, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_2_Template, 3, 1, "kendo-tabstrip-tab", 3)(3, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_3_Template, 3, 1, "kendo-tabstrip-tab", 3)(4, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_4_Template, 3, 1, "kendo-tabstrip-tab", 3)(5, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Conditional_5_Template, 3, 1, "kendo-tabstrip-tab", 3);
|
|
409
423
|
i0.ɵɵelementEnd()();
|
|
410
424
|
i0.ɵɵelementStart(6, "div", 30);
|
|
411
|
-
i0.ɵɵlistener("mousedown", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template_div_mousedown_6_listener($event) { i0.ɵɵrestoreView(
|
|
425
|
+
i0.ɵɵlistener("mousedown", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template_div_mousedown_6_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.startResize($event)); })("touchstart", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template_div_touchstart_6_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.startResize($event)); });
|
|
412
426
|
i0.ɵɵelement(7, "div", 31);
|
|
413
427
|
i0.ɵɵelementEnd();
|
|
414
428
|
} if (rf & 2) {
|
|
@@ -424,10 +438,10 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template(r
|
|
|
424
438
|
i0.ɵɵconditional(ctx_r1.showCode && ctx_r1.reportOptions[0] ? 5 : -1);
|
|
425
439
|
} }
|
|
426
440
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Conditional_19_Template(rf, ctx) { if (rf & 1) {
|
|
427
|
-
i0.ɵɵelementStart(0, "details",
|
|
441
|
+
i0.ɵɵelementStart(0, "details", 45)(1, "summary", 51);
|
|
428
442
|
i0.ɵɵtext(2, "Technical Details (click to expand)");
|
|
429
443
|
i0.ɵɵelementEnd();
|
|
430
|
-
i0.ɵɵelementStart(3, "pre",
|
|
444
|
+
i0.ɵɵelementStart(3, "pre", 52);
|
|
431
445
|
i0.ɵɵtext(4);
|
|
432
446
|
i0.ɵɵelementEnd()();
|
|
433
447
|
} if (rf & 2) {
|
|
@@ -436,20 +450,20 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Conditiona
|
|
|
436
450
|
i0.ɵɵtextInterpolate(ctx_r1.currentError.technicalDetails);
|
|
437
451
|
} }
|
|
438
452
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
439
|
-
const
|
|
440
|
-
i0.ɵɵelementStart(0, "div",
|
|
441
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template_button_click_3_listener() { i0.ɵɵrestoreView(
|
|
442
|
-
i0.ɵɵelement(4, "span",
|
|
453
|
+
const _r15 = i0.ɵɵgetCurrentView();
|
|
454
|
+
i0.ɵɵelementStart(0, "div", 53)(1, "div", 55)(2, "div", 38)(3, "button", 39);
|
|
455
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.copyErrorToClipboard()); });
|
|
456
|
+
i0.ɵɵelement(4, "span", 40);
|
|
443
457
|
i0.ɵɵtext(5, " Copy Error Details ");
|
|
444
458
|
i0.ɵɵelementEnd();
|
|
445
|
-
i0.ɵɵelementStart(6, "h3",
|
|
446
|
-
i0.ɵɵelement(7, "span",
|
|
459
|
+
i0.ɵɵelementStart(6, "h3", 41);
|
|
460
|
+
i0.ɵɵelement(7, "span", 42);
|
|
447
461
|
i0.ɵɵtext(8, " Component Rendering Error ");
|
|
448
462
|
i0.ɵɵelementEnd()();
|
|
449
|
-
i0.ɵɵelementStart(9, "p",
|
|
463
|
+
i0.ɵɵelementStart(9, "p", 43);
|
|
450
464
|
i0.ɵɵtext(10, " The selected component option could not be rendered due to the following error: ");
|
|
451
465
|
i0.ɵɵelementEnd();
|
|
452
|
-
i0.ɵɵelementStart(11, "div",
|
|
466
|
+
i0.ɵɵelementStart(11, "div", 44)(12, "strong");
|
|
453
467
|
i0.ɵɵtext(13, "Error Type:");
|
|
454
468
|
i0.ɵɵelementEnd();
|
|
455
469
|
i0.ɵɵtext(14);
|
|
@@ -458,20 +472,20 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template(r
|
|
|
458
472
|
i0.ɵɵtext(17, "Details:");
|
|
459
473
|
i0.ɵɵelementEnd();
|
|
460
474
|
i0.ɵɵtext(18);
|
|
461
|
-
i0.ɵɵtemplate(19, SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Conditional_19_Template, 5, 1, "details",
|
|
475
|
+
i0.ɵɵtemplate(19, SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Conditional_19_Template, 5, 1, "details", 45);
|
|
462
476
|
i0.ɵɵelementEnd();
|
|
463
|
-
i0.ɵɵelementStart(20, "div",
|
|
477
|
+
i0.ɵɵelementStart(20, "div", 46)(21, "strong", 47);
|
|
464
478
|
i0.ɵɵtext(22, "What to do:");
|
|
465
479
|
i0.ɵɵelementEnd();
|
|
466
|
-
i0.ɵɵelementStart(23, "ol",
|
|
480
|
+
i0.ɵɵelementStart(23, "ol", 48)(24, "li");
|
|
467
481
|
i0.ɵɵtext(25, "Copy the error details and send them back to Skip in the chat to get a corrected version");
|
|
468
482
|
i0.ɵɵelementEnd();
|
|
469
483
|
i0.ɵɵelementStart(26, "li");
|
|
470
484
|
i0.ɵɵtext(27, "Contact your IT department if the issue persists");
|
|
471
485
|
i0.ɵɵelementEnd()()();
|
|
472
|
-
i0.ɵɵelementStart(28, "button",
|
|
473
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template_button_click_28_listener() { i0.ɵɵrestoreView(
|
|
474
|
-
i0.ɵɵelement(29, "span",
|
|
486
|
+
i0.ɵɵelementStart(28, "button", 49);
|
|
487
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template_button_click_28_listener() { i0.ɵɵrestoreView(_r15); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.retryCurrentOption()); });
|
|
488
|
+
i0.ɵɵelement(29, "span", 50);
|
|
475
489
|
i0.ɵɵtext(30, " Retry ");
|
|
476
490
|
i0.ɵɵelementEnd()()();
|
|
477
491
|
} if (rf & 2) {
|
|
@@ -483,40 +497,55 @@ function SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template(r
|
|
|
483
497
|
i0.ɵɵadvance();
|
|
484
498
|
i0.ɵɵconditional(ctx_r1.currentError.technicalDetails ? 19 : -1);
|
|
485
499
|
} }
|
|
500
|
+
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template(rf, ctx) { if (rf & 1) {
|
|
501
|
+
const _r16 = i0.ɵɵgetCurrentView();
|
|
502
|
+
i0.ɵɵelementStart(0, "mj-react-component", 36);
|
|
503
|
+
i0.ɵɵlistener("stateChange", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template_mj_react_component_stateChange_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onStateChange(0, $event)); })("componentEvent", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template_mj_react_component_componentEvent_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onComponentEvent(0, $event)); })("refreshData", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template_mj_react_component_refreshData_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.handleRefreshData()); })("openEntityRecord", function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template_mj_react_component_openEntityRecord_0_listener($event) { i0.ɵɵrestoreView(_r16); const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.onOpenEntityRecord($event)); });
|
|
504
|
+
i0.ɵɵelementEnd();
|
|
505
|
+
} if (rf & 2) {
|
|
506
|
+
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
507
|
+
i0.ɵɵproperty("component", ctx_r1.componentSpecs.get(0))("data", ctx_r1.getFlattenedDataContext())("state", ctx_r1.userStates.get(0) || i0.ɵɵpureFunction0(5, _c0))("utilities", ctx_r1.utilities)("styles", ctx_r1.componentStyles || undefined);
|
|
508
|
+
} }
|
|
486
509
|
function SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
487
|
-
i0.ɵɵ
|
|
510
|
+
i0.ɵɵelementStart(0, "div", 21);
|
|
511
|
+
i0.ɵɵtemplate(1, SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_mj_react_component_1_Template, 1, 6, "mj-react-component", 22);
|
|
512
|
+
i0.ɵɵelementEnd();
|
|
513
|
+
} if (rf & 2) {
|
|
514
|
+
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
515
|
+
i0.ɵɵadvance();
|
|
516
|
+
i0.ɵɵproperty("ngIf", ctx_r1.componentSpecs.has(0));
|
|
488
517
|
} }
|
|
489
518
|
function SkipDynamicUIComponentComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
490
|
-
const
|
|
491
|
-
i0.ɵɵelementStart(0, "div",
|
|
492
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_3_listener() { i0.ɵɵrestoreView(
|
|
493
|
-
i0.ɵɵelement(4, "i",
|
|
519
|
+
const _r11 = i0.ɵɵgetCurrentView();
|
|
520
|
+
i0.ɵɵelementStart(0, "div", 1)(1, "div", 7)(2, "div", 8)(3, "button", 9);
|
|
521
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShowFunctionalRequirements()); });
|
|
522
|
+
i0.ɵɵelement(4, "i", 10);
|
|
494
523
|
i0.ɵɵelementStart(5, "span");
|
|
495
524
|
i0.ɵɵtext(6, "Functional");
|
|
496
525
|
i0.ɵɵelementEnd()();
|
|
497
|
-
i0.ɵɵelementStart(7, "button",
|
|
498
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_7_listener() { i0.ɵɵrestoreView(
|
|
499
|
-
i0.ɵɵelement(8, "i",
|
|
526
|
+
i0.ɵɵelementStart(7, "button", 11);
|
|
527
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_7_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShowDataRequirements()); });
|
|
528
|
+
i0.ɵɵelement(8, "i", 12);
|
|
500
529
|
i0.ɵɵelementStart(9, "span");
|
|
501
530
|
i0.ɵɵtext(10, "Data");
|
|
502
531
|
i0.ɵɵelementEnd()();
|
|
503
|
-
i0.ɵɵelementStart(11, "button",
|
|
504
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_11_listener() { i0.ɵɵrestoreView(
|
|
505
|
-
i0.ɵɵelement(12, "i",
|
|
532
|
+
i0.ɵɵelementStart(11, "button", 13);
|
|
533
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_11_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShowTechnicalDesign()); });
|
|
534
|
+
i0.ɵɵelement(12, "i", 14);
|
|
506
535
|
i0.ɵɵelementStart(13, "span");
|
|
507
536
|
i0.ɵɵtext(14, "Technical");
|
|
508
537
|
i0.ɵɵelementEnd()();
|
|
509
|
-
i0.ɵɵelementStart(15, "button",
|
|
510
|
-
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_15_listener() { i0.ɵɵrestoreView(
|
|
511
|
-
i0.ɵɵelement(16, "i",
|
|
538
|
+
i0.ɵɵelementStart(15, "button", 15);
|
|
539
|
+
i0.ɵɵlistener("click", function SkipDynamicUIComponentComponent_Conditional_1_Template_button_click_15_listener() { i0.ɵɵrestoreView(_r11); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.toggleShowCode()); });
|
|
540
|
+
i0.ɵɵelement(16, "i", 16);
|
|
512
541
|
i0.ɵɵelementStart(17, "span");
|
|
513
542
|
i0.ɵɵtext(18, "Code");
|
|
514
543
|
i0.ɵɵelementEnd()()();
|
|
515
|
-
i0.ɵɵelementStart(19, "div",
|
|
516
|
-
i0.ɵɵtemplate(20, SkipDynamicUIComponentComponent_Conditional_1_button_20_Template, 4, 2, "button",
|
|
544
|
+
i0.ɵɵelementStart(19, "div", 17);
|
|
545
|
+
i0.ɵɵtemplate(20, SkipDynamicUIComponentComponent_Conditional_1_button_20_Template, 4, 2, "button", 18)(21, SkipDynamicUIComponentComponent_Conditional_1_button_21_Template, 4, 0, "button", 19);
|
|
517
546
|
i0.ɵɵelementEnd()();
|
|
518
|
-
i0.ɵɵelementStart(22, "div",
|
|
519
|
-
i0.ɵɵtemplate(23, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template, 8, 6)(24, SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template, 31, 3, "div",
|
|
547
|
+
i0.ɵɵelementStart(22, "div", 20);
|
|
548
|
+
i0.ɵɵtemplate(23, SkipDynamicUIComponentComponent_Conditional_1_Conditional_23_Template, 8, 6)(24, SkipDynamicUIComponentComponent_Conditional_1_Conditional_24_Template, 31, 3, "div", 53)(25, SkipDynamicUIComponentComponent_Conditional_1_Conditional_25_Template, 2, 1, "div", 21);
|
|
520
549
|
i0.ɵɵelementEnd()();
|
|
521
550
|
} if (rf & 2) {
|
|
522
551
|
const ctx_r1 = i0.ɵɵnextContext();
|
|
@@ -549,11 +578,13 @@ export class SkipDynamicUIComponentComponent {
|
|
|
549
578
|
matchingReportID = null;
|
|
550
579
|
DrillDownEvent = new EventEmitter();
|
|
551
580
|
CreateReportRequested = new EventEmitter();
|
|
552
|
-
|
|
581
|
+
reactComponents;
|
|
553
582
|
// Properties for handling multiple report options
|
|
554
583
|
reportOptions = [];
|
|
555
584
|
selectedReportOptionIndex = 0;
|
|
556
585
|
currentError = null;
|
|
586
|
+
// Cached component type name to avoid expression change errors
|
|
587
|
+
_cachedComponentTypeName = 'Component';
|
|
557
588
|
isCreatingReport = false;
|
|
558
589
|
// Toggle states for showing/hiding component details
|
|
559
590
|
showFunctionalRequirements = false;
|
|
@@ -565,15 +596,12 @@ export class SkipDynamicUIComponentComponent {
|
|
|
565
596
|
isResizing = false;
|
|
566
597
|
startY = 0;
|
|
567
598
|
startHeight = 0;
|
|
568
|
-
// Cache for
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
UpdateUserState: (userState) => this.handleUpdateUserState(userState),
|
|
575
|
-
NotifyEvent: (eventName, eventData) => this.handleNotifyEvent(eventName, eventData)
|
|
576
|
-
};
|
|
599
|
+
// Cache for component specs and user states
|
|
600
|
+
componentSpecs = new Map();
|
|
601
|
+
userStates = new Map();
|
|
602
|
+
utilities = null;
|
|
603
|
+
componentStyles = null;
|
|
604
|
+
// Event handlers from React components
|
|
577
605
|
constructor(sanitizer, cdr, ngZone) {
|
|
578
606
|
this.sanitizer = sanitizer;
|
|
579
607
|
this.cdr = cdr;
|
|
@@ -631,15 +659,14 @@ export class SkipDynamicUIComponentComponent {
|
|
|
631
659
|
this.currentError = null;
|
|
632
660
|
try {
|
|
633
661
|
// Update the component info - this can fail if placeholders are missing
|
|
634
|
-
this.UIComponentCode =
|
|
662
|
+
this.UIComponentCode = BuildComponentCompleteCode(selectedOption.option);
|
|
635
663
|
this.ComponentObjectName = selectedOption.option.componentName;
|
|
636
|
-
//
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
//
|
|
640
|
-
this.
|
|
664
|
+
// Create or update the component spec for this option
|
|
665
|
+
if (!this.componentSpecs.has(this.selectedReportOptionIndex)) {
|
|
666
|
+
this.createComponentSpecForOption(this.selectedReportOptionIndex);
|
|
667
|
+
// Trigger change detection after modifying componentSpecs
|
|
668
|
+
this.cdr.detectChanges();
|
|
641
669
|
}
|
|
642
|
-
this.currentHostIndex = this.selectedReportOptionIndex;
|
|
643
670
|
}
|
|
644
671
|
catch (error) {
|
|
645
672
|
console.error('Failed to build component code:', error);
|
|
@@ -654,21 +681,22 @@ export class SkipDynamicUIComponentComponent {
|
|
|
654
681
|
}
|
|
655
682
|
}
|
|
656
683
|
async PrintReport() {
|
|
657
|
-
const
|
|
658
|
-
if (
|
|
659
|
-
|
|
684
|
+
const currentComponent = this.getCurrentReactComponent();
|
|
685
|
+
if (currentComponent) {
|
|
686
|
+
// React component handles printing internally
|
|
687
|
+
window.print();
|
|
660
688
|
}
|
|
661
689
|
else {
|
|
662
690
|
window.print();
|
|
663
691
|
}
|
|
664
692
|
}
|
|
665
693
|
/**
|
|
666
|
-
* Copy error details to clipboard for user to send back to
|
|
694
|
+
* Copy error details to clipboard for user to send back to
|
|
667
695
|
*/
|
|
668
696
|
copyErrorToClipboard() {
|
|
669
697
|
if (!this.currentError)
|
|
670
698
|
return;
|
|
671
|
-
const errorText = `
|
|
699
|
+
const errorText = `Component Error:
|
|
672
700
|
Type: ${this.currentError.type}
|
|
673
701
|
Message: ${this.currentError.message}
|
|
674
702
|
${this.currentError.technicalDetails ? `\nTechnical Details:\n${this.currentError.technicalDetails}` : ''}
|
|
@@ -676,26 +704,25 @@ ${this.currentError.technicalDetails ? `\nTechnical Details:\n${this.currentErro
|
|
|
676
704
|
Component Option: ${this.selectedReportOptionIndex + 1}
|
|
677
705
|
Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
678
706
|
navigator.clipboard.writeText(errorText).then(() => {
|
|
679
|
-
alert('Error details copied to clipboard. You can paste this in the
|
|
707
|
+
alert('Error details copied to clipboard. You can paste this in the chat to get help.');
|
|
680
708
|
}).catch(err => {
|
|
681
709
|
console.error('Failed to copy to clipboard:', err);
|
|
682
710
|
});
|
|
683
711
|
}
|
|
684
712
|
/**
|
|
685
|
-
* Get the
|
|
713
|
+
* Get the React component for a specific option index
|
|
686
714
|
*/
|
|
687
|
-
|
|
688
|
-
if (!this.
|
|
715
|
+
getReactComponentForOption(optionIndex) {
|
|
716
|
+
if (!this.reactComponents || this.reactComponents.length === 0) {
|
|
689
717
|
return null;
|
|
690
718
|
}
|
|
691
719
|
if (this.reportOptions.length === 1) {
|
|
692
|
-
// Single option - use the only
|
|
693
|
-
return this.
|
|
720
|
+
// Single option - use the only component
|
|
721
|
+
return this.reactComponents.first || null;
|
|
694
722
|
}
|
|
695
723
|
else {
|
|
696
|
-
// Multiple options - find
|
|
697
|
-
|
|
698
|
-
return container?.nativeElement || null;
|
|
724
|
+
// Multiple options - find by index
|
|
725
|
+
return this.reactComponents.toArray()[optionIndex] || null;
|
|
699
726
|
}
|
|
700
727
|
}
|
|
701
728
|
/**
|
|
@@ -704,16 +731,10 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
704
731
|
retryCurrentOption() {
|
|
705
732
|
// Clear the error
|
|
706
733
|
this.currentError = null;
|
|
707
|
-
//
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
host.destroy();
|
|
712
|
-
}
|
|
713
|
-
this.reactHostCache.delete(this.selectedReportOptionIndex);
|
|
714
|
-
}
|
|
715
|
-
// Try creating it again
|
|
716
|
-
this.createReactHostForOption(this.selectedReportOptionIndex);
|
|
734
|
+
// Re-create the component spec
|
|
735
|
+
this.createComponentSpecForOption(this.selectedReportOptionIndex);
|
|
736
|
+
// Trigger change detection
|
|
737
|
+
this.cdr.detectChanges();
|
|
717
738
|
}
|
|
718
739
|
/**
|
|
719
740
|
* Handle create report request for a specific option
|
|
@@ -730,6 +751,12 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
730
751
|
const type = option.option.componentType || 'report';
|
|
731
752
|
return type.charAt(0).toUpperCase() + type.slice(1);
|
|
732
753
|
}
|
|
754
|
+
/**
|
|
755
|
+
* Get the cached component type name for the first option to avoid change detection errors
|
|
756
|
+
*/
|
|
757
|
+
get firstOptionComponentTypeName() {
|
|
758
|
+
return this._cachedComponentTypeName;
|
|
759
|
+
}
|
|
733
760
|
/**
|
|
734
761
|
* Toggle methods for showing/hiding component details
|
|
735
762
|
*/
|
|
@@ -820,7 +847,7 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
820
847
|
*/
|
|
821
848
|
getComponentCode(option) {
|
|
822
849
|
try {
|
|
823
|
-
return
|
|
850
|
+
return BuildComponentCompleteCode(option.option);
|
|
824
851
|
}
|
|
825
852
|
catch (e) {
|
|
826
853
|
return `// Error building complete component code:\n// ${e}`;
|
|
@@ -879,51 +906,40 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
879
906
|
if (this.SkipData) {
|
|
880
907
|
this.setupReportOptions(this.SkipData);
|
|
881
908
|
}
|
|
882
|
-
//
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
|
|
909
|
+
// Initialize utilities and styles once using React runtime
|
|
910
|
+
const runtimeUtils = createRuntimeUtilities();
|
|
911
|
+
this.utilities = runtimeUtils.buildUtilities();
|
|
912
|
+
this.componentStyles = SetupStyles();
|
|
913
|
+
// Create component specs for all options
|
|
914
|
+
// Use Promise.resolve to avoid ExpressionChangedAfterItHasBeenCheckedError
|
|
915
|
+
if (this.reportOptions.length > 0) {
|
|
916
|
+
Promise.resolve().then(() => {
|
|
917
|
+
this.reportOptions.forEach((_, index) => {
|
|
918
|
+
this.createComponentSpecForOption(index);
|
|
919
|
+
});
|
|
920
|
+
this.cdr.detectChanges();
|
|
921
|
+
});
|
|
922
|
+
}
|
|
889
923
|
}
|
|
890
924
|
ngOnDestroy() {
|
|
891
|
-
// Clean up
|
|
892
|
-
this.
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
}
|
|
896
|
-
catch (e) {
|
|
897
|
-
console.error('Error destroying React host:', e);
|
|
898
|
-
}
|
|
899
|
-
});
|
|
900
|
-
this.reactHostCache.clear();
|
|
901
|
-
// Clean up registered components from the GlobalComponentRegistry
|
|
902
|
-
// Note: We don't remove them as they might be used by other instances
|
|
903
|
-
// The registry is designed to be a singleton that persists across component instances
|
|
925
|
+
// Clean up component specs and states
|
|
926
|
+
this.componentSpecs.clear();
|
|
927
|
+
this.userStates.clear();
|
|
928
|
+
// The MJReactComponent handles its own cleanup
|
|
904
929
|
}
|
|
905
930
|
ngOnChanges(changes) {
|
|
906
|
-
if (changes['SkipData']
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
host.updateState('data', newData);
|
|
912
|
-
}
|
|
913
|
-
catch (e) {
|
|
914
|
-
console.error('Error updating React host data:', e);
|
|
915
|
-
}
|
|
916
|
-
});
|
|
931
|
+
if (changes['SkipData']) {
|
|
932
|
+
const skipData = changes['SkipData'].currentValue;
|
|
933
|
+
if (skipData) {
|
|
934
|
+
this.setupReportOptions(skipData);
|
|
935
|
+
}
|
|
917
936
|
}
|
|
918
937
|
}
|
|
919
938
|
/**
|
|
920
|
-
* Get the currently active React
|
|
939
|
+
* Get the currently active React component
|
|
921
940
|
*/
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
return this.reactHostCache.get(this.currentHostIndex) || null;
|
|
925
|
-
}
|
|
926
|
-
return null;
|
|
941
|
+
getCurrentReactComponent() {
|
|
942
|
+
return this.getReactComponentForOption(this.selectedReportOptionIndex);
|
|
927
943
|
}
|
|
928
944
|
_skipData;
|
|
929
945
|
get SkipData() {
|
|
@@ -937,7 +953,7 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
937
953
|
if (d.componentOptions && d.componentOptions.length > 0) {
|
|
938
954
|
// Use the first component option (or the highest ranked one)
|
|
939
955
|
const component = d.componentOptions[0];
|
|
940
|
-
this.UIComponentCode =
|
|
956
|
+
this.UIComponentCode = BuildComponentCompleteCode(component.option);
|
|
941
957
|
this.ComponentObjectName = component.option.componentName;
|
|
942
958
|
}
|
|
943
959
|
else {
|
|
@@ -967,67 +983,37 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
967
983
|
// Select the best option (first in sorted array)
|
|
968
984
|
this.selectedReportOptionIndex = 0;
|
|
969
985
|
const bestOption = this.reportOptions[0];
|
|
970
|
-
this.UIComponentCode =
|
|
986
|
+
this.UIComponentCode = BuildComponentCompleteCode(bestOption.option);
|
|
971
987
|
this.ComponentObjectName = bestOption.option.componentName;
|
|
988
|
+
// Update cached component type name after current change detection cycle
|
|
989
|
+
Promise.resolve().then(() => {
|
|
990
|
+
this._cachedComponentTypeName = this.getComponentTypeName(bestOption);
|
|
991
|
+
this.cdr.detectChanges();
|
|
992
|
+
});
|
|
972
993
|
}
|
|
973
994
|
}
|
|
974
995
|
/**
|
|
975
|
-
* Create a
|
|
996
|
+
* Create a component spec for a specific option index
|
|
976
997
|
*/
|
|
977
|
-
|
|
998
|
+
createComponentSpecForOption(optionIndex) {
|
|
978
999
|
const option = this.reportOptions[optionIndex];
|
|
979
1000
|
if (!option)
|
|
980
1001
|
return;
|
|
981
|
-
const container = this.getContainerForOption(optionIndex);
|
|
982
|
-
if (!container)
|
|
983
|
-
return;
|
|
984
1002
|
try {
|
|
985
1003
|
const component = option.option;
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
//
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
component,
|
|
992
|
-
container: container,
|
|
993
|
-
callbacks: this.callbacks,
|
|
994
|
-
data: data,
|
|
995
|
-
utilities: this.SetupUtilities(md),
|
|
996
|
-
styles: this.SetupStyles()
|
|
997
|
-
// metadata will be auto-populated from component.childComponents
|
|
998
|
-
});
|
|
999
|
-
// Initialize and render the React component
|
|
1000
|
-
await reactHost.initialize();
|
|
1001
|
-
// Cache the host
|
|
1002
|
-
this.reactHostCache.set(optionIndex, reactHost);
|
|
1003
|
-
// Update current index if this is the selected option
|
|
1004
|
-
if (optionIndex === this.selectedReportOptionIndex) {
|
|
1005
|
-
this.currentHostIndex = optionIndex;
|
|
1004
|
+
// Store the component spec
|
|
1005
|
+
this.componentSpecs.set(optionIndex, component);
|
|
1006
|
+
// Initialize user state if not exists
|
|
1007
|
+
if (!this.userStates.has(optionIndex)) {
|
|
1008
|
+
this.userStates.set(optionIndex, {});
|
|
1006
1009
|
}
|
|
1007
1010
|
}
|
|
1008
1011
|
catch (e) {
|
|
1009
|
-
console.error('Error creating
|
|
1012
|
+
console.error('Error creating component spec:', e);
|
|
1010
1013
|
// Determine the type of error and create a user-friendly message
|
|
1011
|
-
let errorType = 'Component
|
|
1012
|
-
let errorMessage = 'Failed to
|
|
1014
|
+
let errorType = 'Component Specification Error';
|
|
1015
|
+
let errorMessage = 'Failed to create component specification.';
|
|
1013
1016
|
let technicalDetails = e.toString();
|
|
1014
|
-
if (e.message?.includes('JSX transpilation failed')) {
|
|
1015
|
-
errorType = 'Code Compilation Error';
|
|
1016
|
-
errorMessage = 'The component code could not be compiled. This usually indicates a syntax error in the generated code.';
|
|
1017
|
-
technicalDetails = e.message;
|
|
1018
|
-
}
|
|
1019
|
-
else if (e.message?.includes('is not defined')) {
|
|
1020
|
-
errorType = 'Missing Dependency';
|
|
1021
|
-
errorMessage = 'The component is trying to use a feature or library that is not available.';
|
|
1022
|
-
}
|
|
1023
|
-
else if (e.message?.includes('Missing required child components')) {
|
|
1024
|
-
errorType = 'Incomplete Component Specification';
|
|
1025
|
-
errorMessage = e.message;
|
|
1026
|
-
}
|
|
1027
|
-
else if (e.message?.includes('Cannot read properties')) {
|
|
1028
|
-
errorType = 'Property Access Error';
|
|
1029
|
-
errorMessage = 'The component is trying to access data that doesn\'t exist. This often happens when property names don\'t match the data structure.';
|
|
1030
|
-
}
|
|
1031
1017
|
this.currentError = {
|
|
1032
1018
|
type: errorType,
|
|
1033
1019
|
message: errorMessage,
|
|
@@ -1036,6 +1022,40 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1036
1022
|
LogError(e);
|
|
1037
1023
|
}
|
|
1038
1024
|
}
|
|
1025
|
+
/**
|
|
1026
|
+
* Handle state change events from React components
|
|
1027
|
+
*/
|
|
1028
|
+
onStateChange(optionIndex, event) {
|
|
1029
|
+
const currentState = this.userStates.get(optionIndex) || {};
|
|
1030
|
+
this.userStates.set(optionIndex, {
|
|
1031
|
+
...currentState,
|
|
1032
|
+
[event.path]: event.value
|
|
1033
|
+
});
|
|
1034
|
+
// Handle any additional state change logic
|
|
1035
|
+
this.handleUpdateUserState({ [event.path]: event.value });
|
|
1036
|
+
}
|
|
1037
|
+
/**
|
|
1038
|
+
* Handle component events from React components
|
|
1039
|
+
*/
|
|
1040
|
+
onComponentEvent(optionIndex, event) {
|
|
1041
|
+
if (event.type === 'error') {
|
|
1042
|
+
this.currentError = {
|
|
1043
|
+
type: event.payload.source || 'React Component Error',
|
|
1044
|
+
message: event.payload.error || 'An unknown error occurred',
|
|
1045
|
+
technicalDetails: event.payload.errorInfo || ''
|
|
1046
|
+
};
|
|
1047
|
+
}
|
|
1048
|
+
else {
|
|
1049
|
+
this.handleNotifyEvent(event.type, event.payload);
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
/**
|
|
1053
|
+
* Handle open entity record events
|
|
1054
|
+
*/
|
|
1055
|
+
onOpenEntityRecord(event) {
|
|
1056
|
+
const key = new CompositeKey([{ FieldName: 'ID', Value: event.recordId }]);
|
|
1057
|
+
this.handleOpenEntityRecord(event.entityName, key);
|
|
1058
|
+
}
|
|
1039
1059
|
getFlattenedDataContext() {
|
|
1040
1060
|
const flattenedDataContext = {};
|
|
1041
1061
|
if (this.SkipData?.dataContext) {
|
|
@@ -1086,162 +1106,11 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1086
1106
|
}
|
|
1087
1107
|
// TODO: Handle other custom events as needed
|
|
1088
1108
|
}
|
|
1089
|
-
SetupUtilities
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
rv: this.CreateSimpleRunView(rv),
|
|
1095
|
-
rq: this.CreateSimpleRunQuery(rq)
|
|
1096
|
-
};
|
|
1097
|
-
return u;
|
|
1098
|
-
}
|
|
1099
|
-
CreateSimpleMetadata(md) {
|
|
1100
|
-
return {
|
|
1101
|
-
entities: md.Entities.map(e => MapEntityInfoToSkipEntityInfo(e))
|
|
1102
|
-
};
|
|
1103
|
-
}
|
|
1104
|
-
SetupStyles() {
|
|
1105
|
-
// Return modern, contemporary styles for generated components
|
|
1106
|
-
return {
|
|
1107
|
-
colors: {
|
|
1108
|
-
// Primary colors - modern purple/blue gradient feel
|
|
1109
|
-
primary: '#5B4FE9',
|
|
1110
|
-
primaryHover: '#4940D4',
|
|
1111
|
-
primaryLight: '#E8E6FF',
|
|
1112
|
-
// Secondary colors - sophisticated gray
|
|
1113
|
-
secondary: '#64748B',
|
|
1114
|
-
secondaryHover: '#475569',
|
|
1115
|
-
// Status colors
|
|
1116
|
-
success: '#10B981',
|
|
1117
|
-
successLight: '#D1FAE5',
|
|
1118
|
-
warning: '#F59E0B',
|
|
1119
|
-
warningLight: '#FEF3C7',
|
|
1120
|
-
error: '#EF4444',
|
|
1121
|
-
errorLight: '#FEE2E2',
|
|
1122
|
-
info: '#3B82F6',
|
|
1123
|
-
infoLight: '#DBEAFE',
|
|
1124
|
-
// Base colors
|
|
1125
|
-
background: '#FFFFFF',
|
|
1126
|
-
surface: '#F8FAFC',
|
|
1127
|
-
surfaceHover: '#F1F5F9',
|
|
1128
|
-
// Text colors with better contrast
|
|
1129
|
-
text: '#1E293B',
|
|
1130
|
-
textSecondary: '#64748B',
|
|
1131
|
-
textTertiary: '#94A3B8',
|
|
1132
|
-
textInverse: '#FFFFFF',
|
|
1133
|
-
// Border colors
|
|
1134
|
-
border: '#E2E8F0',
|
|
1135
|
-
borderLight: '#F1F5F9',
|
|
1136
|
-
borderFocus: '#5B4FE9',
|
|
1137
|
-
// Shadows (as color strings for easy use)
|
|
1138
|
-
shadow: 'rgba(0, 0, 0, 0.05)',
|
|
1139
|
-
shadowMedium: 'rgba(0, 0, 0, 0.1)',
|
|
1140
|
-
shadowLarge: 'rgba(0, 0, 0, 0.15)',
|
|
1141
|
-
},
|
|
1142
|
-
spacing: {
|
|
1143
|
-
xs: '4px',
|
|
1144
|
-
sm: '8px',
|
|
1145
|
-
md: '16px',
|
|
1146
|
-
lg: '24px',
|
|
1147
|
-
xl: '32px',
|
|
1148
|
-
xxl: '48px',
|
|
1149
|
-
xxxl: '64px',
|
|
1150
|
-
},
|
|
1151
|
-
typography: {
|
|
1152
|
-
fontFamily: '-apple-system, BlinkMacSystemFont, "Inter", "Segoe UI", Roboto, sans-serif',
|
|
1153
|
-
fontSize: {
|
|
1154
|
-
xs: '11px',
|
|
1155
|
-
sm: '12px',
|
|
1156
|
-
md: '14px',
|
|
1157
|
-
lg: '16px',
|
|
1158
|
-
xl: '20px',
|
|
1159
|
-
xxl: '24px',
|
|
1160
|
-
xxxl: '32px',
|
|
1161
|
-
},
|
|
1162
|
-
fontWeight: {
|
|
1163
|
-
light: '300',
|
|
1164
|
-
regular: '400',
|
|
1165
|
-
medium: '500',
|
|
1166
|
-
semibold: '600',
|
|
1167
|
-
bold: '700',
|
|
1168
|
-
},
|
|
1169
|
-
lineHeight: {
|
|
1170
|
-
tight: '1.25',
|
|
1171
|
-
normal: '1.5',
|
|
1172
|
-
relaxed: '1.75',
|
|
1173
|
-
},
|
|
1174
|
-
},
|
|
1175
|
-
borders: {
|
|
1176
|
-
radius: {
|
|
1177
|
-
sm: '6px',
|
|
1178
|
-
md: '8px',
|
|
1179
|
-
lg: '12px',
|
|
1180
|
-
xl: '16px',
|
|
1181
|
-
full: '9999px',
|
|
1182
|
-
},
|
|
1183
|
-
width: {
|
|
1184
|
-
thin: '1px',
|
|
1185
|
-
medium: '2px',
|
|
1186
|
-
thick: '3px',
|
|
1187
|
-
},
|
|
1188
|
-
},
|
|
1189
|
-
shadows: {
|
|
1190
|
-
sm: '0 1px 2px 0 rgba(0, 0, 0, 0.05)',
|
|
1191
|
-
md: '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
|
|
1192
|
-
lg: '0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)',
|
|
1193
|
-
xl: '0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)',
|
|
1194
|
-
inner: 'inset 0 2px 4px 0 rgba(0, 0, 0, 0.06)',
|
|
1195
|
-
},
|
|
1196
|
-
transitions: {
|
|
1197
|
-
fast: '150ms ease-in-out',
|
|
1198
|
-
normal: '250ms ease-in-out',
|
|
1199
|
-
slow: '350ms ease-in-out',
|
|
1200
|
-
},
|
|
1201
|
-
overflow: 'auto' // Default overflow style
|
|
1202
|
-
};
|
|
1203
|
-
}
|
|
1204
|
-
CreateSimpleRunQuery(rq) {
|
|
1205
|
-
return {
|
|
1206
|
-
runQuery: async (params) => {
|
|
1207
|
-
// Run a single query and return the results
|
|
1208
|
-
try {
|
|
1209
|
-
const result = await rq.RunQuery(params);
|
|
1210
|
-
return result;
|
|
1211
|
-
}
|
|
1212
|
-
catch (error) {
|
|
1213
|
-
LogError(error);
|
|
1214
|
-
throw error; // Re-throw to handle it in the caller
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1217
|
-
};
|
|
1218
|
-
}
|
|
1219
|
-
CreateSimpleRunView(rv) {
|
|
1220
|
-
return {
|
|
1221
|
-
runView: async (params) => {
|
|
1222
|
-
// Run a single view and return the results
|
|
1223
|
-
try {
|
|
1224
|
-
const result = await rv.RunView(params);
|
|
1225
|
-
return result;
|
|
1226
|
-
}
|
|
1227
|
-
catch (error) {
|
|
1228
|
-
LogError(error);
|
|
1229
|
-
throw error; // Re-throw to handle it in the caller
|
|
1230
|
-
}
|
|
1231
|
-
},
|
|
1232
|
-
runViews: async (params) => {
|
|
1233
|
-
// Runs multiple views and returns the results
|
|
1234
|
-
try {
|
|
1235
|
-
const results = await rv.RunViews(params);
|
|
1236
|
-
return results;
|
|
1237
|
-
}
|
|
1238
|
-
catch (error) {
|
|
1239
|
-
LogError(error);
|
|
1240
|
-
throw error; // Re-throw to handle it in the caller
|
|
1241
|
-
}
|
|
1242
|
-
}
|
|
1243
|
-
};
|
|
1244
|
-
}
|
|
1109
|
+
// SetupUtilities method removed - now using React runtime's RuntimeUtilities
|
|
1110
|
+
// CreateSimpleMetadata method removed - now using React runtime's RuntimeUtilities
|
|
1111
|
+
// SetupStyles method removed - now using React runtime's SetupStyles function
|
|
1112
|
+
// CreateSimpleRunQuery method removed - now using React runtime's RuntimeUtilities
|
|
1113
|
+
// CreateSimpleRunView method removed - now using React runtime's RuntimeUtilities
|
|
1245
1114
|
SetupCallbacks() {
|
|
1246
1115
|
const cb = {
|
|
1247
1116
|
RefreshData: () => {
|
|
@@ -1282,28 +1151,24 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1282
1151
|
return cb;
|
|
1283
1152
|
}
|
|
1284
1153
|
async refreshReport(data) {
|
|
1285
|
-
const
|
|
1286
|
-
if (
|
|
1287
|
-
|
|
1288
|
-
}
|
|
1289
|
-
else {
|
|
1290
|
-
// If no React host is available, create one for the current option
|
|
1291
|
-
this.createReactHostForOption(this.selectedReportOptionIndex);
|
|
1154
|
+
const currentComponent = this.getCurrentReactComponent();
|
|
1155
|
+
if (currentComponent) {
|
|
1156
|
+
currentComponent.refresh(data);
|
|
1292
1157
|
}
|
|
1293
1158
|
}
|
|
1294
1159
|
static ɵfac = function SkipDynamicUIComponentComponent_Factory(t) { return new (t || SkipDynamicUIComponentComponent)(i0.ɵɵdirectiveInject(i1.DomSanitizer), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef), i0.ɵɵdirectiveInject(i0.NgZone)); };
|
|
1295
1160
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipDynamicUIComponentComponent, selectors: [["skip-dynamic-ui-component"]], viewQuery: function SkipDynamicUIComponentComponent_Query(rf, ctx) { if (rf & 1) {
|
|
1296
|
-
i0.ɵɵviewQuery(
|
|
1161
|
+
i0.ɵɵviewQuery(MJReactComponent, 5);
|
|
1297
1162
|
} if (rf & 2) {
|
|
1298
1163
|
let _t;
|
|
1299
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.
|
|
1164
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.reactComponents = _t);
|
|
1300
1165
|
} }, hostBindings: function SkipDynamicUIComponentComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
1301
1166
|
i0.ɵɵlistener("resize", function SkipDynamicUIComponentComponent_resize_HostBindingHandler() { return ctx.onWindowResize(); }, false, i0.ɵɵresolveWindow);
|
|
1302
|
-
} }, inputs: { UIComponentCode: "UIComponentCode", ComponentObjectName: "ComponentObjectName", ShowPrintReport: "ShowPrintReport", ShowReportOptionsToggle: "ShowReportOptionsToggle", ShowCreateReportButton: "ShowCreateReportButton", matchingReportID: "matchingReportID", SkipData: "SkipData" }, outputs: { DrillDownEvent: "DrillDownEvent", CreateReportRequested: "CreateReportRequested" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 1, consts: [[
|
|
1303
|
-
i0.ɵɵtemplate(0, SkipDynamicUIComponentComponent_Conditional_0_Template, 3, 1, "kendo-tabstrip",
|
|
1167
|
+
} }, inputs: { UIComponentCode: "UIComponentCode", ComponentObjectName: "ComponentObjectName", ShowPrintReport: "ShowPrintReport", ShowReportOptionsToggle: "ShowReportOptionsToggle", ShowCreateReportButton: "ShowCreateReportButton", matchingReportID: "matchingReportID", SkipData: "SkipData" }, outputs: { DrillDownEvent: "DrillDownEvent", CreateReportRequested: "CreateReportRequested" }, features: [i0.ɵɵNgOnChangesFeature], decls: 2, vars: 1, consts: [[2, "height", "100%", "display", "flex", "flex-direction", "column", 3, "keepTabContent"], [2, "height", "100%", "display", "flex", "flex-direction", "column"], [2, "height", "100%", "display", "flex", "flex-direction", "column", 3, "tabSelect", "keepTabContent"], [3, "selected"], ["kendoTabTitle", ""], ["kendoTabContent", ""], [1, "fa-solid", "fa-star", "star-icon"], [1, "tab-action-bar"], [1, "tab-actions-left"], ["title", "Toggle Functional Requirements", 1, "tab-action-button", "toggle-button", 3, "click"], [1, "fa-solid", "fa-list-check"], ["title", "Toggle Data Requirements", 1, "tab-action-button", "toggle-button", 3, "click"], [1, "fa-solid", "fa-database"], ["title", "Toggle Technical Design", 1, "tab-action-button", "toggle-button", 3, "click"], [1, "fa-solid", "fa-cogs"], ["title", "Toggle Code View", 1, "tab-action-button", "toggle-button", 3, "click"], [1, "fa-solid", "fa-code"], [1, "tab-actions-right"], ["class", "tab-action-button create-button", 3, "disabled", "click", 4, "ngIf"], ["class", "tab-action-button print-button", "title", "Print Report", 3, "click", 4, "ngIf"], [2, "flex", "1", "display", "flex", "flex-direction", "column", "min-height", "0", "overflow", "hidden"], [2, "flex", "1", "position", "relative", "min-height", "0", "overflow", "auto"], ["style", "width: 100%; height: 100%;", 3, "component", "data", "state", "utilities", "styles", "stateChange", "componentEvent", "refreshData", "openEntityRecord", 4, "ngIf"], [2, "top", "0", "left", "0", "right", "0", "bottom", "0", "display", "flex", "align-items", "flex-start", "justify-content", "center", "padding-top", "20px", "background", "rgba(255, 255, 255, 0.95)", "z-index", "10"], [1, "tab-action-button", "create-button", 3, "click", "disabled"], [1, "fa-solid", "fa-plus"], ["title", "Print Report", 1, "tab-action-button", "print-button", 3, "click"], [1, "fa-solid", "fa-print"], [1, "details-panel"], [2, "height", "100%"], [1, "panel-resizer", 3, "mousedown", "touchstart"], [1, "resizer-handle"], [1, "details-content"], [3, "innerHTML"], [1, "details-content", "code-content"], [2, "height", "100%", 3, "value", "language", "autoFocus", "indentWithTab", "readonly"], [2, "width", "100%", "height", "100%", 3, "stateChange", "componentEvent", "refreshData", "openEntityRecord", "component", "data", "state", "utilities", "styles"], [2, "width", "90%", "max-width", "600px", "height", "500px", "background-color", "#f8f9fa", "border", "2px solid #dc3545", "border-radius", "8px", "padding", "20px", "overflow-y", "auto", "box-shadow", "0 4px 6px rgba(0, 0, 0, 0.1)"], [2, "position", "relative"], ["kendoButton", "", 2, "position", "absolute", "top", "0", "right", "0", "font-size", "12px", 3, "click"], [1, "fa-solid", "fa-copy"], [2, "color", "#dc3545", "margin-top", "0", "margin-right", "150px", "font-size", "18px"], [1, "fa-solid", "fa-exclamation-triangle"], [2, "margin-bottom", "10px", "font-size", "14px"], [2, "background-color", "#fff", "border", "1px solid #dee2e6", "border-radius", "4px", "padding", "12px", "margin-bottom", "12px", "font-family", "'Courier New', monospace", "font-size", "12px"], [2, "margin-top", "8px"], [2, "background-color", "#e7f3ff", "border", "1px solid #b3d9ff", "border-radius", "4px", "padding", "12px", "margin-bottom", "12px"], [2, "font-size", "14px"], [2, "margin", "8px 0 0 20px", "padding", "0", "font-size", "13px"], ["kendoButton", "", 2, "font-size", "13px", 3, "click"], [1, "fa-solid", "fa-rotate"], [2, "cursor", "pointer", "color", "#0056b3"], [2, "margin-top", "8px", "white-space", "pre-wrap", "word-break", "break-word", "font-size", "11px"], [2, "flex", "1", "display", "flex", "align-items", "center", "justify-content", "center", "min-height", "400px", "padding", "20px", "background", "rgba(255, 255, 255, 0.95)"], [2, "height", "100%", 3, "language", "value", "autoFocus", "indentWithTab", "readonly"], [2, "width", "90%", "max-width", "600px", "max-height", "80vh", "background-color", "#f8f9fa", "border", "2px solid #dc3545", "border-radius", "8px", "padding", "20px", "overflow-y", "auto", "box-shadow", "0 4px 6px rgba(0, 0, 0, 0.1)"]], template: function SkipDynamicUIComponentComponent_Template(rf, ctx) { if (rf & 1) {
|
|
1168
|
+
i0.ɵɵtemplate(0, SkipDynamicUIComponentComponent_Conditional_0_Template, 3, 1, "kendo-tabstrip", 0)(1, SkipDynamicUIComponentComponent_Conditional_1_Template, 26, 12, "div", 1);
|
|
1304
1169
|
} if (rf & 2) {
|
|
1305
1170
|
i0.ɵɵconditional(ctx.reportOptions.length > 1 ? 0 : 1);
|
|
1306
|
-
} }, dependencies: [i2.NgIf, i3.TabStripComponent, i3.TabStripTabComponent, i3.TabContentDirective, i3.TabTitleDirective, i4.ButtonComponent, i5.CodeEditorComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n position: relative;\n }\n \n \n\n .tab-action-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 12px;\n background-color: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n \n .tab-actions-left[_ngcontent-%COMP%], \n .tab-actions-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n \n \n\n .tab-action-button[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background-color: transparent;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n color: #333;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n \n .tab-action-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n }\n \n .tab-action-button[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n \n .tab-action-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n \n \n\n .tab-action-button.create-button[_ngcontent-%COMP%], \n .tab-action-button.print-button[_ngcontent-%COMP%] {\n background-color: white;\n color: #333;\n border-color: #e0e0e0;\n }\n \n .tab-action-button.create-button[_ngcontent-%COMP%]:hover:not(:disabled), \n .tab-action-button.print-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n }\n \n \n\n .tab-action-button.toggle-button[_ngcontent-%COMP%] {\n background-color: white;\n color: #666;\n border-color: #e0e0e0;\n }\n \n .tab-action-button.toggle-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n color: #333;\n }\n \n .tab-action-button.toggle-button.active[_ngcontent-%COMP%] {\n background-color: #5B4FE9;\n color: white;\n border-color: #5B4FE9;\n }\n \n .tab-action-button.toggle-button.active[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #4940D4;\n border-color: #4940D4;\n }\n \n \n\n .details-panel[_ngcontent-%COMP%] {\n border-bottom: 1px solid #e0e0e0;\n background-color: #fafafa;\n overflow: hidden;\n transition: height 0.3s ease;\n }\n \n .details-content[_ngcontent-%COMP%] {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n font-size: 14px;\n line-height: 1.6;\n }\n \n .details-content.code-content[_ngcontent-%COMP%] {\n padding: 0;\n }\n \n \n\n .panel-resizer[_ngcontent-%COMP%] {\n height: 4px;\n background-color: #e0e0e0;\n cursor: ns-resize;\n position: relative;\n transition: background-color 0.2s ease;\n }\n \n .panel-resizer[_ngcontent-%COMP%]:hover {\n background-color: #d0d0d0;\n }\n \n .resizer-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 40px;\n height: 2px;\n background-color: #999;\n border-radius: 1px;\n }\n \n \n\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h1) { font-size: 1.5em; margin-top: 0; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h2) { font-size: 1.3em; margin-top: 1em; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h3) { font-size: 1.1em; margin-top: 1em; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(ul), .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(ol) { margin-left: 1.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(code) { \n background-color: #f4f4f4; \n padding: 2px 4px; \n border-radius: 3px; \n font-family: 'Courier New', monospace; \n font-size: 0.9em;\n }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(pre) { \n background-color: #f4f4f4; \n padding: 12px; \n border-radius: 4px; \n overflow-x: auto; \n }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(blockquote) { \n border-left: 4px solid #e0e0e0; \n padding-left: 16px; \n margin-left: 0; \n color: #666; \n }\n \n \n\n .k-tabstrip {\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n margin: 10px 5px 5px 5px;\n }\n \n .k-tabstrip-items {\n background: #f8f9fa;\n border: none;\n border-radius: 8px 8px 0 0;\n flex: 0 0 auto;\n padding: 8px 12px 0 12px;\n gap: 4px;\n display: flex;\n }\n \n .k-tabstrip-items-wrapper {\n height: 100%;\n }\n \n .k-content {\n flex: 1;\n overflow: hidden;\n padding: 0;\n background: white;\n border: 1px solid #e0e0e0;\n border-top: none;\n border-radius: 0 0 8px 8px;\n }\n \n .k-tabstrip .k-item {\n margin-right: 2px;\n border: none;\n background: transparent;\n border-radius: 6px 6px 0 0;\n padding: 2px;\n transition: all 0.2s ease;\n }\n \n .k-tabstrip .k-item.k-selected {\n background: white;\n border: 1px solid #e0e0e0;\n border-bottom: 1px solid white;\n margin-bottom: -1px;\n z-index: 1;\n }\n \n .k-tabstrip .k-link {\n padding: 8px 16px;\n font-weight: 500;\n font-size: 13px;\n color: #666;\n transition: all 0.15s ease;\n border-radius: 4px 4px 0 0;\n background: transparent;\n border: none;\n text-transform: lowercase;\n }\n \n .k-tabstrip .k-link:first-letter {\n text-transform: uppercase;\n }\n \n .k-tabstrip .k-item:hover:not(.k-selected) .k-link {\n color: #333;\n background: rgba(0, 0, 0, 0.04);\n }\n \n .k-tabstrip .k-item.k-selected .k-link {\n color: #1976d2;\n font-weight: 600;\n background: white;\n }\n \n \n\n .k-tabstrip .k-link .star-icon {\n display: inline-block;\n margin-right: 4px;\n color: #ffd700;\n font-size: 12px;\n vertical-align: middle;\n }\n \n \n\n .k-tabstrip-items::before, \n .k-tabstrip-items::after {\n display: none;\n }\n \n .k-tabstrip .k-item::before, \n .k-tabstrip .k-item::after {\n display: none;\n }\n \n \n\n .k-tabstrip .k-link:focus {\n outline: none;\n box-shadow: none;\n }\n \n \n\n .k-tabstrip .k-content.k-state-active {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n \n \n\n .react-host-container[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n }"] });
|
|
1171
|
+
} }, dependencies: [i2.NgIf, i3.TabStripComponent, i3.TabStripTabComponent, i3.TabContentDirective, i3.TabTitleDirective, i4.ButtonComponent, i5.CodeEditorComponent, i6.MJReactComponent], styles: ["[_nghost-%COMP%] {\n display: block;\n height: 100%;\n position: relative;\n }\n \n \n\n .tab-action-bar[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 8px 12px;\n background-color: #fafafa;\n border-bottom: 1px solid #e0e0e0;\n }\n \n .tab-actions-left[_ngcontent-%COMP%], \n .tab-actions-right[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n }\n \n \n\n .tab-action-button[_ngcontent-%COMP%] {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n padding: 6px 14px;\n background-color: transparent;\n border: 1px solid #e0e0e0;\n border-radius: 6px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 500;\n color: #333;\n transition: all 0.15s ease;\n white-space: nowrap;\n }\n \n .tab-action-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n }\n \n .tab-action-button[_ngcontent-%COMP%]:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n \n .tab-action-button[_ngcontent-%COMP%] i[_ngcontent-%COMP%] {\n font-size: 12px;\n }\n \n \n\n .tab-action-button.create-button[_ngcontent-%COMP%], \n .tab-action-button.print-button[_ngcontent-%COMP%] {\n background-color: white;\n color: #333;\n border-color: #e0e0e0;\n }\n \n .tab-action-button.create-button[_ngcontent-%COMP%]:hover:not(:disabled), \n .tab-action-button.print-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n }\n \n \n\n .tab-action-button.toggle-button[_ngcontent-%COMP%] {\n background-color: white;\n color: #666;\n border-color: #e0e0e0;\n }\n \n .tab-action-button.toggle-button[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #f5f5f5;\n border-color: #d0d0d0;\n color: #333;\n }\n \n .tab-action-button.toggle-button.active[_ngcontent-%COMP%] {\n background-color: #5B4FE9;\n color: white;\n border-color: #5B4FE9;\n }\n \n .tab-action-button.toggle-button.active[_ngcontent-%COMP%]:hover:not(:disabled) {\n background-color: #4940D4;\n border-color: #4940D4;\n }\n \n \n\n .details-panel[_ngcontent-%COMP%] {\n border-bottom: 1px solid #e0e0e0;\n background-color: #fafafa;\n overflow: hidden;\n transition: height 0.3s ease;\n }\n \n .details-content[_ngcontent-%COMP%] {\n padding: 16px;\n overflow-y: auto;\n height: 100%;\n font-size: 14px;\n line-height: 1.6;\n }\n \n .details-content.code-content[_ngcontent-%COMP%] {\n padding: 0;\n }\n \n \n\n .panel-resizer[_ngcontent-%COMP%] {\n height: 4px;\n background-color: #e0e0e0;\n cursor: ns-resize;\n position: relative;\n transition: background-color 0.2s ease;\n }\n \n .panel-resizer[_ngcontent-%COMP%]:hover {\n background-color: #d0d0d0;\n }\n \n .resizer-handle[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 40px;\n height: 2px;\n background-color: #999;\n border-radius: 1px;\n }\n \n \n\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h1) { font-size: 1.5em; margin-top: 0; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h2) { font-size: 1.3em; margin-top: 1em; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(h3) { font-size: 1.1em; margin-top: 1em; margin-bottom: 0.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(ul), .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(ol) { margin-left: 1.5em; }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(code) { \n background-color: #f4f4f4; \n padding: 2px 4px; \n border-radius: 3px; \n font-family: 'Courier New', monospace; \n font-size: 0.9em;\n }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(pre) { \n background-color: #f4f4f4; \n padding: 12px; \n border-radius: 4px; \n overflow-x: auto; \n }\n .details-content[_ngcontent-%COMP%] [_ngcontent-%COMP%]:deep(blockquote) { \n border-left: 4px solid #e0e0e0; \n padding-left: 16px; \n margin-left: 0; \n color: #666; \n }\n \n \n\n .k-tabstrip {\n border: none;\n height: 100%;\n display: flex;\n flex-direction: column;\n margin: 10px 5px 5px 5px;\n }\n \n .k-tabstrip-items {\n background: #f8f9fa;\n border: none;\n border-radius: 8px 8px 0 0;\n flex: 0 0 auto;\n padding: 8px 12px 0 12px;\n gap: 4px;\n display: flex;\n }\n \n .k-tabstrip-items-wrapper {\n height: 100%;\n }\n \n .k-content {\n flex: 1;\n overflow: hidden;\n padding: 0;\n background: white;\n border: 1px solid #e0e0e0;\n border-top: none;\n border-radius: 0 0 8px 8px;\n }\n \n .k-tabstrip .k-item {\n margin-right: 2px;\n border: none;\n background: transparent;\n border-radius: 6px 6px 0 0;\n padding: 2px;\n transition: all 0.2s ease;\n }\n \n .k-tabstrip .k-item.k-selected {\n background: white;\n border: 1px solid #e0e0e0;\n border-bottom: 1px solid white;\n margin-bottom: -1px;\n z-index: 1;\n }\n \n .k-tabstrip .k-link {\n padding: 8px 16px;\n font-weight: 500;\n font-size: 13px;\n color: #666;\n transition: all 0.15s ease;\n border-radius: 4px 4px 0 0;\n background: transparent;\n border: none;\n text-transform: lowercase;\n }\n \n .k-tabstrip .k-link:first-letter {\n text-transform: uppercase;\n }\n \n .k-tabstrip .k-item:hover:not(.k-selected) .k-link {\n color: #333;\n background: rgba(0, 0, 0, 0.04);\n }\n \n .k-tabstrip .k-item.k-selected .k-link {\n color: #1976d2;\n font-weight: 600;\n background: white;\n }\n \n \n\n .k-tabstrip .k-link .star-icon {\n display: inline-block;\n margin-right: 4px;\n color: #ffd700;\n font-size: 12px;\n vertical-align: middle;\n }\n \n \n\n .k-tabstrip-items::before, \n .k-tabstrip-items::after {\n display: none;\n }\n \n .k-tabstrip .k-item::before, \n .k-tabstrip .k-item::after {\n display: none;\n }\n \n \n\n .k-tabstrip .k-link:focus {\n outline: none;\n box-shadow: none;\n }\n \n \n\n .k-tabstrip .k-content.k-state-active {\n height: 100%;\n display: flex;\n flex-direction: column;\n }\n \n \n\n .react-host-container[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n }"] });
|
|
1307
1172
|
}
|
|
1308
1173
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipDynamicUIComponentComponent, [{
|
|
1309
1174
|
type: Component,
|
|
@@ -1447,9 +1312,21 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1447
1312
|
}
|
|
1448
1313
|
|
|
1449
1314
|
<!-- React component container -->
|
|
1450
|
-
<div
|
|
1315
|
+
<div [attr.data-tab-index]="i"
|
|
1451
1316
|
style="flex: 1; position: relative; min-height: 0; overflow: auto;">
|
|
1452
|
-
|
|
1317
|
+
<mj-react-component
|
|
1318
|
+
*ngIf="!currentError && componentSpecs.has(i)"
|
|
1319
|
+
[component]="componentSpecs.get(i)!"
|
|
1320
|
+
[data]="getFlattenedDataContext()"
|
|
1321
|
+
[state]="userStates.get(i) || {}"
|
|
1322
|
+
[utilities]="utilities"
|
|
1323
|
+
[styles]="componentStyles || undefined"
|
|
1324
|
+
(stateChange)="onStateChange(i, $event)"
|
|
1325
|
+
(componentEvent)="onComponentEvent(i, $event)"
|
|
1326
|
+
(refreshData)="handleRefreshData()"
|
|
1327
|
+
(openEntityRecord)="onOpenEntityRecord($event)"
|
|
1328
|
+
style="width: 100%; height: 100%;">
|
|
1329
|
+
</mj-react-component>
|
|
1453
1330
|
|
|
1454
1331
|
<!-- Error overlay for this tab (shown on top of content when needed) -->
|
|
1455
1332
|
@if (currentError && selectedReportOptionIndex === i) {
|
|
@@ -1563,7 +1440,7 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1563
1440
|
(click)="createReportForOption(0)"
|
|
1564
1441
|
[disabled]="isCreatingReport">
|
|
1565
1442
|
<i class="fa-solid fa-plus"></i>
|
|
1566
|
-
<span>Create {{
|
|
1443
|
+
<span>Create {{ firstOptionComponentTypeName }}</span>
|
|
1567
1444
|
</button>
|
|
1568
1445
|
<button class="tab-action-button print-button"
|
|
1569
1446
|
*ngIf="ShowPrintReport"
|
|
@@ -1702,8 +1579,20 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1702
1579
|
</div>
|
|
1703
1580
|
} @else {
|
|
1704
1581
|
<!-- React component container (only shown when no error) -->
|
|
1705
|
-
<div
|
|
1706
|
-
|
|
1582
|
+
<div style="flex: 1; position: relative; min-height: 0; overflow: auto;">
|
|
1583
|
+
<mj-react-component
|
|
1584
|
+
*ngIf="componentSpecs.has(0)"
|
|
1585
|
+
[component]="componentSpecs.get(0)!"
|
|
1586
|
+
[data]="getFlattenedDataContext()"
|
|
1587
|
+
[state]="userStates.get(0) || {}"
|
|
1588
|
+
[utilities]="utilities"
|
|
1589
|
+
[styles]="componentStyles || undefined"
|
|
1590
|
+
(stateChange)="onStateChange(0, $event)"
|
|
1591
|
+
(componentEvent)="onComponentEvent(0, $event)"
|
|
1592
|
+
(refreshData)="handleRefreshData()"
|
|
1593
|
+
(openEntityRecord)="onOpenEntityRecord($event)"
|
|
1594
|
+
style="width: 100%; height: 100%;">
|
|
1595
|
+
</mj-react-component>
|
|
1707
1596
|
</div>
|
|
1708
1597
|
}
|
|
1709
1598
|
</div>
|
|
@@ -1727,14 +1616,14 @@ Component Name: ${this.ComponentObjectName || 'Unknown'}`;
|
|
|
1727
1616
|
type: Output
|
|
1728
1617
|
}], CreateReportRequested: [{
|
|
1729
1618
|
type: Output
|
|
1730
|
-
}],
|
|
1619
|
+
}], reactComponents: [{
|
|
1731
1620
|
type: ViewChildren,
|
|
1732
|
-
args: [
|
|
1621
|
+
args: [MJReactComponent]
|
|
1733
1622
|
}], onWindowResize: [{
|
|
1734
1623
|
type: HostListener,
|
|
1735
1624
|
args: ['window:resize']
|
|
1736
1625
|
}], SkipData: [{
|
|
1737
1626
|
type: Input
|
|
1738
1627
|
}] }); })();
|
|
1739
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicUIComponentComponent, { className: "SkipDynamicUIComponentComponent", filePath: "src/lib/dynamic-report/dynamic-ui-component.ts", lineNumber:
|
|
1628
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicUIComponentComponent, { className: "SkipDynamicUIComponentComponent", filePath: "src/lib/dynamic-report/dynamic-ui-component.ts", lineNumber: 720 }); })();
|
|
1740
1629
|
//# sourceMappingURL=dynamic-ui-component.js.map
|