ngx-t-forms 2.0.9 → 2.0.10
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/fesm2022/{ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs → ngx-t-forms-api-value-access-rules.component-N3ygU2OC.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-api-value-access-rules.component-DjZDnTHz.mjs.map → ngx-t-forms-api-value-access-rules.component-N3ygU2OC.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs → ngx-t-forms-calculated-field-rules.component-BLWcl6vn.mjs} +3 -3
- package/fesm2022/{ngx-t-forms-calculated-field-rules.component-E3l7DQo7.mjs.map → ngx-t-forms-calculated-field-rules.component-BLWcl6vn.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs → ngx-t-forms-config-mscoa-additional-inputs.component-CPerh2tW.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-config-mscoa-additional-inputs.component-sOC54w4T.mjs.map → ngx-t-forms-config-mscoa-additional-inputs.component-CPerh2tW.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs → ngx-t-forms-form-input-selector.component-CPP9vk2K.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-input-selector.component-CB03sPjA.mjs.map → ngx-t-forms-form-input-selector.component-CPP9vk2K.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs → ngx-t-forms-form-json-view.component-DrYn49ee.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-form-json-view.component-C1AZujJH.mjs.map → ngx-t-forms-form-json-view.component-DrYn49ee.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs → ngx-t-forms-form-section-stepper.component-8D5I7skU.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-form-section-stepper.component-C_dciQhe.mjs.map → ngx-t-forms-form-section-stepper.component-8D5I7skU.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs → ngx-t-forms-forms-builder-menu.component-CIpEQV76.mjs} +4 -4
- package/fesm2022/{ngx-t-forms-forms-builder-menu.component-CPIcPREp.mjs.map → ngx-t-forms-forms-builder-menu.component-CIpEQV76.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs → ngx-t-forms-input-editor.component-S5vwN832.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-input-editor.component-__grERM8.mjs.map → ngx-t-forms-input-editor.component-S5vwN832.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs → ngx-t-forms-mat-chip-list-editor.component-cuh6pUIa.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-chip-list-editor.component-DcdHYqhN.mjs.map → ngx-t-forms-mat-chip-list-editor.component-cuh6pUIa.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs → ngx-t-forms-mat-slider-editor.component-0oKVJ6ZR.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-editor.component-C9rintm4.mjs.map → ngx-t-forms-mat-slider-editor.component-0oKVJ6ZR.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs → ngx-t-forms-mat-slider-toggle-editor.component-CH979aIj.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mat-slider-toggle-editor.component-CItK6kXf.mjs.map → ngx-t-forms-mat-slider-toggle-editor.component-CH979aIj.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs → ngx-t-forms-missing-form-configs.component-DO5tei0F.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-missing-form-configs.component-Da3SdUn6.mjs.map → ngx-t-forms-missing-form-configs.component-DO5tei0F.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs → ngx-t-forms-mscoa-segment-config.component-DVLk9GU0.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-mscoa-segment-config.component-4hrEpLk3.mjs.map → ngx-t-forms-mscoa-segment-config.component-DVLk9GU0.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-ngx-t-forms-1Roar4qK.mjs → ngx-t-forms-ngx-t-forms-dXesQz32.mjs} +8 -6
- package/fesm2022/ngx-t-forms-ngx-t-forms-dXesQz32.mjs.map +1 -0
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs → ngx-t-forms-pipeline-generator.component-CwqafpEq.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-pipeline-generator.component-BQDykLNH.mjs.map → ngx-t-forms-pipeline-generator.component-CwqafpEq.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs → ngx-t-forms-required-inputs.component-Cle4WsPa.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-required-inputs.component-BGK3DNu0.mjs.map → ngx-t-forms-required-inputs.component-Cle4WsPa.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs → ngx-t-forms-rest-api-call-setup.component-N7z59aKu.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-rest-api-call-setup.component-CCaRUSVQ.mjs.map → ngx-t-forms-rest-api-call-setup.component-N7z59aKu.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs → ngx-t-forms-section-report.component-CRJIa-3A.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-section-report.component-C8Ja_G_3.mjs.map → ngx-t-forms-section-report.component-CRJIa-3A.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs → ngx-t-forms-selection-options-editor.component-Cm41dBKq.mjs} +2 -2
- package/fesm2022/{ngx-t-forms-selection-options-editor.component-cYkn1O48.mjs.map → ngx-t-forms-selection-options-editor.component-Cm41dBKq.mjs.map} +1 -1
- package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs → ngx-t-forms-validators-config.component-CAdn7-Nn.mjs} +3 -3
- package/fesm2022/{ngx-t-forms-validators-config.component-CGXCCl45.mjs.map → ngx-t-forms-validators-config.component-CAdn7-Nn.mjs.map} +1 -1
- package/fesm2022/ngx-t-forms.mjs +1 -1
- package/lib/components/forms/forms.component.d.ts +1 -1
- package/lib/components/t-form-input/elements/editor-input-element/core/form-input-rich-text-editor/config.d.ts +1 -0
- package/package.json +1 -1
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs +0 -813
- package/fesm2022/ngx-t-forms-api-value-access-rules.component-Zg1ddSDb.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs +0 -532
- package/fesm2022/ngx-t-forms-calculated-field-rules.component-ZepKycLR.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs +0 -297
- package/fesm2022/ngx-t-forms-config-mscoa-additional-inputs.component-DLnB3R7t.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs +0 -187
- package/fesm2022/ngx-t-forms-form-input-selector.component-BjwzDiCY.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs +0 -28
- package/fesm2022/ngx-t-forms-form-json-view.component-CqtTYCRH.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs +0 -673
- package/fesm2022/ngx-t-forms-form-section-stepper.component-Ba5WCLzp.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs +0 -735
- package/fesm2022/ngx-t-forms-forms-builder-menu.component-DbxEBvpt.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs +0 -445
- package/fesm2022/ngx-t-forms-input-editor.component-BnsC-jsN.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs +0 -111
- package/fesm2022/ngx-t-forms-mat-chip-list-editor.component-DS6s98ZX.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs +0 -130
- package/fesm2022/ngx-t-forms-mat-slider-editor.component-ChiiJYK2.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs +0 -171
- package/fesm2022/ngx-t-forms-mat-slider-toggle-editor.component-DFcLzkSF.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs +0 -104
- package/fesm2022/ngx-t-forms-missing-form-configs.component-DNkGCH0e.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs +0 -455
- package/fesm2022/ngx-t-forms-mscoa-segment-config.component-CrHAIRAw.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-1Roar4qK.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs +0 -14694
- package/fesm2022/ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs +0 -1362
- package/fesm2022/ngx-t-forms-pipeline-generator.component-U0d8jQKW.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs +0 -383
- package/fesm2022/ngx-t-forms-required-inputs.component-S3cbA-zG.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs +0 -457
- package/fesm2022/ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs +0 -314
- package/fesm2022/ngx-t-forms-section-report.component-C_h0KIR4.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs +0 -231
- package/fesm2022/ngx-t-forms-selection-options-editor.component-CllhwZ5Y.mjs.map +0 -1
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs +0 -434
- package/fesm2022/ngx-t-forms-validators-config.component-BPJZRtjT.mjs.map +0 -1
|
@@ -1,457 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, Component, Input, Output, Optional, Self, HostBinding } from '@angular/core';
|
|
3
|
-
import * as i2 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import * as i1$1 from '@angular/forms';
|
|
6
|
-
import { FormsModule } from '@angular/forms';
|
|
7
|
-
import { e as TreeComponent, M as MatModulesModule } from './ngx-t-forms-ngx-t-forms-DaAFB-HX.mjs';
|
|
8
|
-
import * as i1 from '@angular/common/http';
|
|
9
|
-
import { HttpErrorResponse } from '@angular/common/http';
|
|
10
|
-
import { BehaviorSubject, take, tap, catchError, throwError, Subject } from 'rxjs';
|
|
11
|
-
import { c as convertPostmanFolderItemsToTree } from './ngx-t-forms-convertPostmanCollectionToTree-DktdVBeQ.mjs';
|
|
12
|
-
import * as i2$1 from '@angular/material/button';
|
|
13
|
-
import * as i4 from '@angular/material/divider';
|
|
14
|
-
import * as i6 from '@angular/material/icon';
|
|
15
|
-
import * as i7 from '@angular/material/progress-spinner';
|
|
16
|
-
import * as i9 from '@angular/material/toolbar';
|
|
17
|
-
import * as i8 from '@angular/material/tooltip';
|
|
18
|
-
import * as i3 from '@angular/material/tree';
|
|
19
|
-
import { DataSources } from 'ngx-t-forms-types';
|
|
20
|
-
import { MatFormFieldControl } from '@angular/material/form-field';
|
|
21
|
-
|
|
22
|
-
// Update the filter function signature
|
|
23
|
-
function filterCollectionItems(collections, searchKey) {
|
|
24
|
-
const items = collections.collection.item;
|
|
25
|
-
const searchText = searchKey.trim().toLowerCase();
|
|
26
|
-
if (!searchText) {
|
|
27
|
-
return items;
|
|
28
|
-
}
|
|
29
|
-
return items.filter(collection => {
|
|
30
|
-
return searchInItems(collection.item, searchText);
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function searchInItems(items, searchText) {
|
|
34
|
-
if (!items)
|
|
35
|
-
return false;
|
|
36
|
-
for (const item of items) {
|
|
37
|
-
// Check if current item matches search
|
|
38
|
-
if (item.name?.toLowerCase().includes(searchText) ||
|
|
39
|
-
item.description?.toLowerCase().includes(searchText)) {
|
|
40
|
-
return true;
|
|
41
|
-
}
|
|
42
|
-
// Recursively search in nested items
|
|
43
|
-
if (item.item && searchInItems(item.item, searchText)) {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function methodColor(method) {
|
|
51
|
-
switch (method) {
|
|
52
|
-
case 'GET':
|
|
53
|
-
return 'green';
|
|
54
|
-
case 'POST':
|
|
55
|
-
return 'chocolate';
|
|
56
|
-
case 'PUT':
|
|
57
|
-
return 'yellow';
|
|
58
|
-
case 'DELETE':
|
|
59
|
-
return 'red';
|
|
60
|
-
default:
|
|
61
|
-
return 'currentColor';
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
function PostmanCollectionsComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
66
|
-
i0.ɵɵelementStart(0, "div", 0);
|
|
67
|
-
i0.ɵɵelement(1, "mat-spinner");
|
|
68
|
-
i0.ɵɵelementEnd();
|
|
69
|
-
} }
|
|
70
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
71
|
-
i0.ɵɵelement(0, "mat-spinner", 8);
|
|
72
|
-
} }
|
|
73
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
74
|
-
i0.ɵɵelement(0, "div", 11);
|
|
75
|
-
} if (rf & 2) {
|
|
76
|
-
const line_r3 = ctx.$implicit;
|
|
77
|
-
i0.ɵɵstyleProp("left", line_r3 * 40 + 8 + "px");
|
|
78
|
-
} }
|
|
79
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
81
|
-
i0.ɵɵelementStart(0, "button", 12);
|
|
82
|
-
i0.ɵɵlistener("click", function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r4); const node_r5 = i0.ɵɵnextContext().$implicit; const ctx_r1 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r1.selectNode(node_r5.value)); });
|
|
83
|
-
i0.ɵɵelementStart(1, "span", 13);
|
|
84
|
-
i0.ɵɵtext(2);
|
|
85
|
-
i0.ɵɵelementEnd();
|
|
86
|
-
i0.ɵɵelementStart(3, "span");
|
|
87
|
-
i0.ɵɵtext(4);
|
|
88
|
-
i0.ɵɵelementEnd()();
|
|
89
|
-
} if (rf & 2) {
|
|
90
|
-
const node_r5 = i0.ɵɵnextContext().$implicit;
|
|
91
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
92
|
-
i0.ɵɵproperty("disabled", !(node_r5.value == null ? null : node_r5.value.request == null ? null : node_r5.value.request.body == null ? null : node_r5.value.request.body.raw) && node_r5.value.request.method === "POST" || !(node_r5.value == null ? null : node_r5.value.request == null ? null : node_r5.value.request.url == null ? null : node_r5.value.request.url.raw))("matTooltip", (node_r5.value == null ? null : node_r5.value.request == null ? null : node_r5.value.request.url == null ? null : node_r5.value.request.url.raw) || "Invalid Postman config,missing Endpoint URL");
|
|
93
|
-
i0.ɵɵadvance();
|
|
94
|
-
i0.ɵɵstyleProp("color", ctx_r1.methodColor(node_r5.value.request.method));
|
|
95
|
-
i0.ɵɵadvance();
|
|
96
|
-
i0.ɵɵtextInterpolate1(" ", node_r5.value.request.method, "");
|
|
97
|
-
i0.ɵɵadvance(2);
|
|
98
|
-
i0.ɵɵtextInterpolate1(" ", node_r5.key, " ");
|
|
99
|
-
} }
|
|
100
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_Template(rf, ctx) { if (rf & 1) {
|
|
101
|
-
i0.ɵɵelementStart(0, "mat-tree-node", 7);
|
|
102
|
-
i0.ɵɵtemplate(1, PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_Conditional_1_Template, 1, 0, "mat-spinner", 8)(2, PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_div_2_Template, 1, 2, "div", 9)(3, PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_button_3_Template, 5, 6, "button", 10);
|
|
103
|
-
i0.ɵɵelementEnd();
|
|
104
|
-
} if (rf & 2) {
|
|
105
|
-
const node_r5 = ctx.$implicit;
|
|
106
|
-
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
107
|
-
i0.ɵɵadvance();
|
|
108
|
-
i0.ɵɵconditional(ctx_r1.loadingEndPoints.includes(node_r5.value.id) ? 1 : -1);
|
|
109
|
-
i0.ɵɵadvance();
|
|
110
|
-
i0.ɵɵproperty("ngForOf", ctx_r1.getNodeLines(node_r5.level));
|
|
111
|
-
i0.ɵɵadvance();
|
|
112
|
-
i0.ɵɵproperty("ngIf", node_r5.value == null ? null : node_r5.value.request);
|
|
113
|
-
} }
|
|
114
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_3_Template(rf, ctx) { if (rf & 1) {
|
|
115
|
-
i0.ɵɵelementStart(0, "mat-tree-node", 7)(1, "button", 14)(2, "mat-icon");
|
|
116
|
-
i0.ɵɵtext(3);
|
|
117
|
-
i0.ɵɵelementEnd()();
|
|
118
|
-
i0.ɵɵelementStart(4, "mat-icon", 15);
|
|
119
|
-
i0.ɵɵtext(5);
|
|
120
|
-
i0.ɵɵelementEnd();
|
|
121
|
-
i0.ɵɵelementStart(6, "span", 16);
|
|
122
|
-
i0.ɵɵtext(7);
|
|
123
|
-
i0.ɵɵelementEnd()();
|
|
124
|
-
} if (rf & 2) {
|
|
125
|
-
const node_r6 = ctx.$implicit;
|
|
126
|
-
const tree_r7 = i0.ɵɵnextContext().ngIf;
|
|
127
|
-
i0.ɵɵadvance();
|
|
128
|
-
i0.ɵɵattribute("aria-label", "Toggle " + node_r6.key);
|
|
129
|
-
i0.ɵɵadvance(2);
|
|
130
|
-
i0.ɵɵtextInterpolate1(" ", tree_r7.treeControl.isExpanded(node_r6) ? "expand_more" : "chevron_right", " ");
|
|
131
|
-
i0.ɵɵadvance(2);
|
|
132
|
-
i0.ɵɵtextInterpolate1(" ", tree_r7.treeControl.isExpanded(node_r6) ? "folder_open" : "folder", " ");
|
|
133
|
-
i0.ɵɵadvance(2);
|
|
134
|
-
i0.ɵɵtextInterpolate1(" ", node_r6.key, " ");
|
|
135
|
-
} }
|
|
136
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_5_Template(rf, ctx) { if (rf & 1) {
|
|
137
|
-
i0.ɵɵelementContainerStart(0);
|
|
138
|
-
i0.ɵɵelementStart(1, "mat-tree", 4);
|
|
139
|
-
i0.ɵɵtemplate(2, PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_2_Template, 4, 3, "mat-tree-node", 5)(3, PostmanCollectionsComponent_Conditional_1_ng_container_5_mat_tree_node_3_Template, 8, 4, "mat-tree-node", 6);
|
|
140
|
-
i0.ɵɵelementEnd();
|
|
141
|
-
i0.ɵɵelementContainerEnd();
|
|
142
|
-
} if (rf & 2) {
|
|
143
|
-
const tree_r7 = ctx.ngIf;
|
|
144
|
-
i0.ɵɵadvance();
|
|
145
|
-
i0.ɵɵproperty("dataSource", tree_r7.dataSource)("treeControl", tree_r7.treeControl);
|
|
146
|
-
i0.ɵɵadvance(2);
|
|
147
|
-
i0.ɵɵproperty("matTreeNodeDefWhen", tree_r7.hasChild);
|
|
148
|
-
} }
|
|
149
|
-
function PostmanCollectionsComponent_Conditional_1_ng_container_6_Template(rf, ctx) { if (rf & 1) {
|
|
150
|
-
i0.ɵɵelementContainerStart(0);
|
|
151
|
-
i0.ɵɵelementStart(1, "mat-toolbar")(2, "span", 17);
|
|
152
|
-
i0.ɵɵtext(3);
|
|
153
|
-
i0.ɵɵelementEnd()();
|
|
154
|
-
i0.ɵɵelementContainerEnd();
|
|
155
|
-
} if (rf & 2) {
|
|
156
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
157
|
-
i0.ɵɵadvance(3);
|
|
158
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.error.message, " ");
|
|
159
|
-
} }
|
|
160
|
-
function PostmanCollectionsComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
161
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
162
|
-
i0.ɵɵelementStart(0, "mat-toolbar", 1)(1, "mat-icon");
|
|
163
|
-
i0.ɵɵtext(2, " search ");
|
|
164
|
-
i0.ɵɵelementEnd();
|
|
165
|
-
i0.ɵɵelementStart(3, "input", 2);
|
|
166
|
-
i0.ɵɵlistener("input", function PostmanCollectionsComponent_Conditional_1_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.searchTree($event)); });
|
|
167
|
-
i0.ɵɵelementEnd()();
|
|
168
|
-
i0.ɵɵelement(4, "mat-divider");
|
|
169
|
-
i0.ɵɵtemplate(5, PostmanCollectionsComponent_Conditional_1_ng_container_5_Template, 4, 3, "ng-container", 3)(6, PostmanCollectionsComponent_Conditional_1_ng_container_6_Template, 4, 1, "ng-container", 3);
|
|
170
|
-
} if (rf & 2) {
|
|
171
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
172
|
-
i0.ɵɵadvance(5);
|
|
173
|
-
i0.ɵɵproperty("ngIf", ctx_r1.treeComponent);
|
|
174
|
-
i0.ɵɵadvance();
|
|
175
|
-
i0.ɵɵproperty("ngIf", ctx_r1.error);
|
|
176
|
-
} }
|
|
177
|
-
class PostmanCollectionsComponent {
|
|
178
|
-
get collection$() {
|
|
179
|
-
return this._collection$.asObservable();
|
|
180
|
-
}
|
|
181
|
-
constructor(httpClient) {
|
|
182
|
-
this.httpClient = httpClient;
|
|
183
|
-
this._collection$ = new BehaviorSubject(undefined);
|
|
184
|
-
this.treeComponent = new TreeComponent();
|
|
185
|
-
this.nodeSelectionChanged = new EventEmitter();
|
|
186
|
-
this._searchKey = '';
|
|
187
|
-
this.loadingEndPoints = [];
|
|
188
|
-
this.loading = false;
|
|
189
|
-
}
|
|
190
|
-
ngOnInit() {
|
|
191
|
-
this.initializePostmanService();
|
|
192
|
-
}
|
|
193
|
-
selectNode(node) {
|
|
194
|
-
this.nodeSelectionChanged.emit(node);
|
|
195
|
-
}
|
|
196
|
-
isValidConfig(config) {
|
|
197
|
-
return Boolean(config?.collectionUrl && config?.collectionKey);
|
|
198
|
-
}
|
|
199
|
-
initializePostmanService() {
|
|
200
|
-
const isValidConfig = this.isValidConfig(this.postmanCollectionConfig);
|
|
201
|
-
if (!isValidConfig) {
|
|
202
|
-
this.error = new HttpErrorResponse({
|
|
203
|
-
error: 'Invalid Postman Collection Config',
|
|
204
|
-
});
|
|
205
|
-
return;
|
|
206
|
-
}
|
|
207
|
-
const { collectionUrl, collectionKey } = this.postmanCollectionConfig;
|
|
208
|
-
const requestOptions = {
|
|
209
|
-
params: {
|
|
210
|
-
apikey: collectionKey,
|
|
211
|
-
clearSystemHeaders: true
|
|
212
|
-
},
|
|
213
|
-
headers: {
|
|
214
|
-
'Content-Type': 'application/json',
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
this.loading = true;
|
|
218
|
-
this.httpClient.get(collectionUrl, requestOptions).pipe(take(1), tap((data) => {
|
|
219
|
-
this._collection$.next(data);
|
|
220
|
-
// To ensure the data can be shown as a tree
|
|
221
|
-
const treeData = convertPostmanFolderItemsToTree(data.collection.item);
|
|
222
|
-
this.treeComponent.assignDataSourceData(treeData);
|
|
223
|
-
this.error = undefined;
|
|
224
|
-
this.loading = false;
|
|
225
|
-
}), catchError((err) => {
|
|
226
|
-
this.loading = false;
|
|
227
|
-
this.error = err;
|
|
228
|
-
console.error(err);
|
|
229
|
-
return throwError(err);
|
|
230
|
-
})).subscribe();
|
|
231
|
-
}
|
|
232
|
-
methodColor(method) {
|
|
233
|
-
return methodColor(method);
|
|
234
|
-
}
|
|
235
|
-
searchTree(event) {
|
|
236
|
-
const search = event.target.value;
|
|
237
|
-
this.collection$.pipe(take(1), tap((collection) => {
|
|
238
|
-
if (!collection) {
|
|
239
|
-
return;
|
|
240
|
-
}
|
|
241
|
-
const items = filterCollectionItems(collection, search);
|
|
242
|
-
const treeData = convertPostmanFolderItemsToTree(items);
|
|
243
|
-
this.treeComponent.assignDataSourceData(treeData);
|
|
244
|
-
})).subscribe();
|
|
245
|
-
}
|
|
246
|
-
getNodeLines(level) {
|
|
247
|
-
return Array(level).fill(0).map((_, i) => i + 1);
|
|
248
|
-
}
|
|
249
|
-
static { this.ɵfac = function PostmanCollectionsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PostmanCollectionsComponent)(i0.ɵɵdirectiveInject(i1.HttpClient)); }; }
|
|
250
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PostmanCollectionsComponent, selectors: [["app-postman-collections"]], inputs: { postmanCollectionConfig: "postmanCollectionConfig", loadingEndPoints: "loadingEndPoints" }, outputs: { nodeSelectionChanged: "nodeSelectionChanged" }, decls: 2, vars: 2, consts: [[1, "loadingContainer"], [1, "search-container"], ["type", "search", "placeholder", "Search api", 1, "search-field", 3, "input"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["matTreeNodePadding", "", 4, "matTreeNodeDef"], ["matTreeNodePadding", "", 4, "matTreeNodeDef", "matTreeNodeDefWhen"], ["matTreeNodePadding", ""], ["diameter", "22", 1, "loading-spinner"], ["class", "line", 3, "left", 4, "ngFor", "ngForOf"], ["class", "item", "mat-button", "", 3, "disabled", "matTooltip", "click", 4, "ngIf"], [1, "line"], ["mat-button", "", 1, "item", 3, "click", "disabled", "matTooltip"], [1, "node-key", "method"], ["mat-icon-button", "", "matTreeNodeToggle", "", 2, "padding", "0px"], [2, "color", "var(--ion-color-medium)"], [2, "margin-left", "8px", "font-weight", "500"], [2, "color", "red", "font-size", "14px", "line-height", "normal", "text-wrap", "auto"]], template: function PostmanCollectionsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
251
|
-
i0.ɵɵtemplate(0, PostmanCollectionsComponent_Conditional_0_Template, 2, 0, "div", 0)(1, PostmanCollectionsComponent_Conditional_1_Template, 7, 2);
|
|
252
|
-
} if (rf & 2) {
|
|
253
|
-
i0.ɵɵconditional(!!ctx.loading ? 0 : -1);
|
|
254
|
-
i0.ɵɵadvance();
|
|
255
|
-
i0.ɵɵconditional(!ctx.loading ? 1 : -1);
|
|
256
|
-
} }, dependencies: [CommonModule, i2.NgForOf, i2.NgIf, MatModulesModule, i2$1.MatButton, i2$1.MatIconButton, i4.MatDivider, i6.MatIcon, i7.MatProgressSpinner, i9.MatToolbar, i8.MatTooltip, i3.MatTreeNodeDef, i3.MatTreeNodePadding, i3.MatTreeNodeToggle, i3.MatTree, i3.MatTreeNode, FormsModule], styles: ["mat-tree-node[_ngcontent-%COMP%]{min-height:28px!important;height:32px!important}.breadcrumb-container[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;padding:8px 0}.breadcrumb-item[_ngcontent-%COMP%]{display:inline-flex;align-items:center;margin:0;transition:background-color .3s ease}.breadcrumb-separator[_ngcontent-%COMP%]{margin:0}.breadcrumb-separator[_ngcontent-%COMP%] .mat-icon[_ngcontent-%COMP%]{font-size:16px;width:16px;height:16px}.suggestion-container[_ngcontent-%COMP%]{display:flex;width:100%;gap:14px}.suggestion-column[_ngcontent-%COMP%]{flex:1;min-width:0}.button-container[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap}.suggestion-button[_ngcontent-%COMP%]{--padding-start: 8px;--padding-end: 8px;--padding-top: 2px;--padding-bottom: 4px;height:auto;font-size:.8em;text-transform:capitalize}.suggestion-button[_ngcontent-%COMP%] ion-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}h5[_ngcontent-%COMP%]{margin-bottom:8px;font-size:1em}mat-tree[_ngcontent-%COMP%]{background:none}.item[_ngcontent-%COMP%]{text-align:left;display:flex;width:100%;justify-content:left;font-size:small;white-space:nowrap;font-weight:400;overflow:hidden}.method[_ngcontent-%COMP%]{display:inline-block;width:38px;text-align:right}.line[_ngcontent-%COMP%]{position:absolute;height:32px;left:48px;background:var(--mat-divider-color, var(--mat-app-outline));width:1px}.loadingContainer[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;padding:24px;height:100%}.search-field[_ngcontent-%COMP%]{width:100%;padding:8px;border:1px solid var(--mat-divider-color, var(--mat-app-outline));border-radius:4px;margin-left:14px}.search-container[_ngcontent-%COMP%]{background:inherit;padding-left:12px;padding-right:12px;height:48px}"] }); }
|
|
257
|
-
}
|
|
258
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PostmanCollectionsComponent, [{
|
|
259
|
-
type: Component,
|
|
260
|
-
args: [{ selector: 'app-postman-collections', standalone: true, imports: [CommonModule, MatModulesModule, FormsModule], template: "\n@if (!!loading ) {\n<div class=\"loadingContainer\">\n <mat-spinner></mat-spinner>\n</div>\n\n}\n@if(!loading){\n <mat-toolbar class=\"search-container\">\n <mat-icon>\n search\n </mat-icon>\n <input type=\"search\" \n placeholder=\"Search api\" \n class=\"search-field\"\n (input)=\"searchTree($event)\"> \n </mat-toolbar>\n <mat-divider ></mat-divider>\n <ng-container *ngIf=\"treeComponent as tree\">\n <mat-tree [dataSource]=\"tree.dataSource\" [treeControl]=\" tree.treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding>\n @if (loadingEndPoints.includes(node.value.id)) {\n <mat-spinner diameter=\"22\" class=\"loading-spinner\" >\n \n </mat-spinner>\n }\n <div class=\"line\" *ngFor=\"let line of getNodeLines(node.level)\" [style.left]=\"line* 40 +8 + 'px'\"></div>\n <button [disabled]=\"!node.value?.request?.body?.raw && node.value.request.method ==='POST' || !node.value?.request?.url?.raw \"\n (click)=\"selectNode(node.value)\" [matTooltip]=\"node.value?.request?.url?.raw || 'Invalid Postman config,missing Endpoint URL'\" class=\"item\" mat-button\n *ngIf=\"node.value?.request\">\n \n <span class=\"node-key method\" [style.color]=\" methodColor(node.value.request.method)\">\n <!-- -->\n\n {{node.value.request.method}}</span>\n <span>\n \n {{ node.key }} \n \n </span>\n </button>\n \n </mat-tree-node>\n \n <mat-tree-node *matTreeNodeDef=\"let node; when: tree.hasChild\" matTreeNodePadding>\n <button style=\"padding: 0px; \n \" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.key\">\n <mat-icon>\n \n {{tree.treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n \n </button>\n \n <mat-icon style=\"color: var(--ion-color-medium)\">\n {{tree.treeControl.isExpanded(node) ? 'folder_open' : 'folder'}}\n\n </mat-icon>\n <span style=\"margin-left: 8px;font-weight:500\">\n \n {{ node.key }}\n </span>\n \n </mat-tree-node>\n </mat-tree>\n \n </ng-container>\n <ng-container *ngIf=\"error\">\n <mat-toolbar>\n <span style=\"color: red ;font-size:14px; line-height: normal;\n text-wrap: auto;\">\n {{error.message}}\n </span>\n </mat-toolbar>\n </ng-container>\n}\n", styles: ["mat-tree-node{min-height:28px!important;height:32px!important}.breadcrumb-container{display:flex;align-items:center;flex-wrap:wrap;padding:8px 0}.breadcrumb-item{display:inline-flex;align-items:center;margin:0;transition:background-color .3s ease}.breadcrumb-separator{margin:0}.breadcrumb-separator .mat-icon{font-size:16px;width:16px;height:16px}.suggestion-container{display:flex;width:100%;gap:14px}.suggestion-column{flex:1;min-width:0}.button-container{display:flex;flex-wrap:wrap}.suggestion-button{--padding-start: 8px;--padding-end: 8px;--padding-top: 2px;--padding-bottom: 4px;height:auto;font-size:.8em;text-transform:capitalize}.suggestion-button ::ng-deep ion-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}h5{margin-bottom:8px;font-size:1em}mat-tree{background:none}.item{text-align:left;display:flex;width:100%;justify-content:left;font-size:small;white-space:nowrap;font-weight:400;overflow:hidden}.method{display:inline-block;width:38px;text-align:right}.line{position:absolute;height:32px;left:48px;background:var(--mat-divider-color, var(--mat-app-outline));width:1px}.loadingContainer{display:flex;justify-content:center;align-items:center;padding:24px;height:100%}.search-field{width:100%;padding:8px;border:1px solid var(--mat-divider-color, var(--mat-app-outline));border-radius:4px;margin-left:14px}.search-container{background:inherit;padding-left:12px;padding-right:12px;height:48px}\n"] }]
|
|
261
|
-
}], () => [{ type: i1.HttpClient }], { nodeSelectionChanged: [{
|
|
262
|
-
type: Output
|
|
263
|
-
}], postmanCollectionConfig: [{
|
|
264
|
-
type: Input
|
|
265
|
-
}], loadingEndPoints: [{
|
|
266
|
-
type: Input
|
|
267
|
-
}] }); })();
|
|
268
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PostmanCollectionsComponent, { className: "PostmanCollectionsComponent", filePath: "lib/components/t-dynamic-data-edit/elements/postman-collections/postman-collections.component.ts", lineNumber: 21 }); })();
|
|
269
|
-
|
|
270
|
-
function RestApiCallSetupComponent_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
|
271
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
272
|
-
i0.ɵɵelementStart(0, "app-postman-collections", 2);
|
|
273
|
-
i0.ɵɵlistener("nodeSelectionChanged", function RestApiCallSetupComponent_Conditional_0_Template_app_postman_collections_nodeSelectionChanged_0_listener($event) { i0.ɵɵrestoreView(_r1); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.nodeSelectionChanged($event)); });
|
|
274
|
-
i0.ɵɵelementEnd();
|
|
275
|
-
} if (rf & 2) {
|
|
276
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
277
|
-
i0.ɵɵproperty("loadingEndPoints", ctx_r1.loadingEndPoints)("postmanCollectionConfig", ctx_r1.postmanCollectionConfig);
|
|
278
|
-
} }
|
|
279
|
-
function RestApiCallSetupComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
280
|
-
const _r3 = i0.ɵɵgetCurrentView();
|
|
281
|
-
i0.ɵɵelementStart(0, "mat-toolbar")(1, "button", 3);
|
|
282
|
-
i0.ɵɵlistener("click", function RestApiCallSetupComponent_Conditional_1_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r3); const ctx_r1 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r1.clearValue()); });
|
|
283
|
-
i0.ɵɵelementStart(2, "span", 4);
|
|
284
|
-
i0.ɵɵtext(3);
|
|
285
|
-
i0.ɵɵelementEnd();
|
|
286
|
-
i0.ɵɵelementStart(4, "span");
|
|
287
|
-
i0.ɵɵtext(5);
|
|
288
|
-
i0.ɵɵelementEnd()()();
|
|
289
|
-
} if (rf & 2) {
|
|
290
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
291
|
-
i0.ɵɵadvance();
|
|
292
|
-
i0.ɵɵproperty("matTooltip", ctx_r1.value == null ? null : ctx_r1.value.httpEndPoint);
|
|
293
|
-
i0.ɵɵadvance();
|
|
294
|
-
i0.ɵɵstyleProp("color", ctx_r1.methodColor(ctx_r1.value == null ? null : ctx_r1.value.httpMethod));
|
|
295
|
-
i0.ɵɵadvance();
|
|
296
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.value == null ? null : ctx_r1.value.httpMethod, "");
|
|
297
|
-
i0.ɵɵadvance(2);
|
|
298
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r1.value == null ? null : ctx_r1.value.name, " ");
|
|
299
|
-
} }
|
|
300
|
-
function RestApiCallSetupComponent_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
301
|
-
i0.ɵɵelementStart(0, "mat-toolbar", 1)(1, "p", 5);
|
|
302
|
-
i0.ɵɵtext(2, " No postman collection configured. Add Postman collection Id and Api key ");
|
|
303
|
-
i0.ɵɵelementEnd()();
|
|
304
|
-
} }
|
|
305
|
-
class RestApiCallSetupComponent {
|
|
306
|
-
static { this.nextId = 0; }
|
|
307
|
-
constructor(ngControl, _elementRef) {
|
|
308
|
-
this.ngControl = ngControl;
|
|
309
|
-
this._elementRef = _elementRef;
|
|
310
|
-
this.stateChanges = new Subject();
|
|
311
|
-
this.id = `lib-rest-api-call-setup-${RestApiCallSetupComponent.nextId++}`;
|
|
312
|
-
this.placeholder = '';
|
|
313
|
-
this.focused = false;
|
|
314
|
-
this.required = false;
|
|
315
|
-
this.disabled = false;
|
|
316
|
-
this.touched = false;
|
|
317
|
-
this.onTouched = () => { };
|
|
318
|
-
this.httpGetDataFunction = undefined;
|
|
319
|
-
this.errors = [];
|
|
320
|
-
this.valueChanged = new EventEmitter();
|
|
321
|
-
this.loadingEndPoints = [];
|
|
322
|
-
}
|
|
323
|
-
get empty() {
|
|
324
|
-
return !this.value;
|
|
325
|
-
}
|
|
326
|
-
get shouldLabelFloat() {
|
|
327
|
-
return this.focused || !this.empty;
|
|
328
|
-
}
|
|
329
|
-
get errorState() {
|
|
330
|
-
const hasError = !!this.ngControl?.control?.errors || (this.errors || []).length > 0 && this.touched;
|
|
331
|
-
return !this.value && !!this.required || hasError;
|
|
332
|
-
}
|
|
333
|
-
setDescribedByIds(ids) {
|
|
334
|
-
// Ensure the component view is initialized
|
|
335
|
-
if (this._elementRef && this._elementRef.nativeElement) {
|
|
336
|
-
const controlElement = this._elementRef.nativeElement.querySelector('.lib-rest-api-call-setup');
|
|
337
|
-
// Check if the controlElement exists before attempting to set its attribute
|
|
338
|
-
if (controlElement) {
|
|
339
|
-
controlElement.setAttribute('aria-describedby', ids.join(' '));
|
|
340
|
-
}
|
|
341
|
-
}
|
|
342
|
-
}
|
|
343
|
-
onContainerClick(event) {
|
|
344
|
-
this.markAsTouched();
|
|
345
|
-
this.stateChanges.next();
|
|
346
|
-
}
|
|
347
|
-
markAsTouched() {
|
|
348
|
-
console.log('markAsTouched');
|
|
349
|
-
if (!this.touched) {
|
|
350
|
-
this.onTouched();
|
|
351
|
-
this.touched = true;
|
|
352
|
-
}
|
|
353
|
-
}
|
|
354
|
-
set value(val) {
|
|
355
|
-
if (JSON.stringify(val) !== JSON.stringify(this._value)) {
|
|
356
|
-
this._value = val;
|
|
357
|
-
}
|
|
358
|
-
}
|
|
359
|
-
get value() {
|
|
360
|
-
return this._value;
|
|
361
|
-
}
|
|
362
|
-
async nodeSelectionChanged(node) {
|
|
363
|
-
const { id, name, request, response } = node;
|
|
364
|
-
if (!request || !response)
|
|
365
|
-
return;
|
|
366
|
-
let requestBody;
|
|
367
|
-
try {
|
|
368
|
-
requestBody = JSON.parse(request?.body?.raw || '{}');
|
|
369
|
-
}
|
|
370
|
-
catch (error) {
|
|
371
|
-
console.error("API BODY PARSE ERROR");
|
|
372
|
-
requestBody = {};
|
|
373
|
-
}
|
|
374
|
-
const keyExtraction = (key, value, primaryKey) => {
|
|
375
|
-
return ({
|
|
376
|
-
name: key,
|
|
377
|
-
type: typeof value,
|
|
378
|
-
primaryKey
|
|
379
|
-
});
|
|
380
|
-
};
|
|
381
|
-
// if(request.method === 'GET'){
|
|
382
|
-
// this.loadingEndPoints.push(id)
|
|
383
|
-
// try {
|
|
384
|
-
// responseBody = await this.httpGetDataFunction?.(request.url.raw)
|
|
385
|
-
// } catch (error) {
|
|
386
|
-
// console.error(error)
|
|
387
|
-
// this.loadingEndPoints = this.loadingEndPoints.filter((item) => item !== id)
|
|
388
|
-
// }
|
|
389
|
-
// }
|
|
390
|
-
const secondaryKeys = Object.entries(requestBody['data'] || {}).map(([key, value]) => keyExtraction(key, value, false));
|
|
391
|
-
delete requestBody['data'];
|
|
392
|
-
const primaryKeys = Object.entries(requestBody).map(([key, value]) => keyExtraction(key, value, true));
|
|
393
|
-
const minimumInputRequired = request?.method === 'POST' ? [...primaryKeys, ...secondaryKeys] : [];
|
|
394
|
-
const transformedNode = {
|
|
395
|
-
_id: id,
|
|
396
|
-
name: name,
|
|
397
|
-
httpEndPoint: request.url.raw,
|
|
398
|
-
httpMethod: request.method,
|
|
399
|
-
source: DataSources.Api,
|
|
400
|
-
postFormData: request.method === 'POST',
|
|
401
|
-
backEndConfig: {
|
|
402
|
-
minimumInputRequired,
|
|
403
|
-
},
|
|
404
|
-
};
|
|
405
|
-
const fetch = transformedNode;
|
|
406
|
-
console.log(fetch);
|
|
407
|
-
this.valueChanged.emit(fetch);
|
|
408
|
-
}
|
|
409
|
-
clearValue() {
|
|
410
|
-
const source = this.value?.source;
|
|
411
|
-
this._value = undefined;
|
|
412
|
-
this.valueChanged.emit(undefined);
|
|
413
|
-
this.valueChanged.emit({ source: source });
|
|
414
|
-
}
|
|
415
|
-
methodColor(method) {
|
|
416
|
-
return methodColor(method || 'POST');
|
|
417
|
-
}
|
|
418
|
-
get hasValidValue() {
|
|
419
|
-
return Boolean(this.value) && Boolean(this.value?.httpEndPoint) && Boolean(this.value?.httpMethod);
|
|
420
|
-
}
|
|
421
|
-
static { this.ɵfac = function RestApiCallSetupComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || RestApiCallSetupComponent)(i0.ɵɵdirectiveInject(i1$1.NgControl, 10), i0.ɵɵdirectiveInject(i0.ElementRef)); }; }
|
|
422
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: RestApiCallSetupComponent, selectors: [["lib-rest-api-call-setup"]], hostVars: 1, hostBindings: function RestApiCallSetupComponent_HostBindings(rf, ctx) { if (rf & 2) {
|
|
423
|
-
i0.ɵɵhostProperty("id", ctx.id);
|
|
424
|
-
} }, inputs: { postmanCollectionConfig: "postmanCollectionConfig", httpGetDataFunction: "httpGetDataFunction", value: "value", errors: "errors" }, outputs: { valueChanged: "valueChanged" }, features: [i0.ɵɵProvidersFeature([{ provide: MatFormFieldControl, useExisting: RestApiCallSetupComponent }])], decls: 3, vars: 3, consts: [[3, "loadingEndPoints", "postmanCollectionConfig"], ["color", "warn"], [3, "nodeSelectionChanged", "loadingEndPoints", "postmanCollectionConfig"], ["mat-flat-button", "", 1, "item", 3, "click", "matTooltip"], [1, "node-key", "method"], [2, "font-size", "14px", "white-space", "normal", "line-height", "normal"]], template: function RestApiCallSetupComponent_Template(rf, ctx) { if (rf & 1) {
|
|
425
|
-
i0.ɵɵtemplate(0, RestApiCallSetupComponent_Conditional_0_Template, 1, 2, "app-postman-collections", 0)(1, RestApiCallSetupComponent_Conditional_1_Template, 6, 5, "mat-toolbar")(2, RestApiCallSetupComponent_Conditional_2_Template, 3, 0, "mat-toolbar", 1);
|
|
426
|
-
} if (rf & 2) {
|
|
427
|
-
i0.ɵɵconditional(ctx.postmanCollectionConfig && !ctx.hasValidValue ? 0 : -1);
|
|
428
|
-
i0.ɵɵadvance();
|
|
429
|
-
i0.ɵɵconditional(!!ctx.hasValidValue && !!ctx.postmanCollectionConfig ? 1 : -1);
|
|
430
|
-
i0.ɵɵadvance();
|
|
431
|
-
i0.ɵɵconditional(!ctx.postmanCollectionConfig ? 2 : -1);
|
|
432
|
-
} }, dependencies: [PostmanCollectionsComponent, MatModulesModule, i2$1.MatButton, i9.MatToolbar, i8.MatTooltip, CommonModule], styles: [".item[_ngcontent-%COMP%]{text-align:left;display:flex;width:100%;justify-content:left;font-size:small;white-space:nowrap;font-weight:400;overflow:hidden}.center[_ngcontent-%COMP%]{display:flex!important;align-items:center}"] }); }
|
|
433
|
-
}
|
|
434
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RestApiCallSetupComponent, [{
|
|
435
|
-
type: Component,
|
|
436
|
-
args: [{ selector: 'lib-rest-api-call-setup', standalone: true, imports: [PostmanCollectionsComponent, MatModulesModule, CommonModule], providers: [{ provide: MatFormFieldControl, useExisting: RestApiCallSetupComponent }], template: "\r\n@if(postmanCollectionConfig && !hasValidValue ){\r\n <app-postman-collections \r\n (nodeSelectionChanged)=\"nodeSelectionChanged($event)\"\r\n [loadingEndPoints]=\"loadingEndPoints\"\r\n [postmanCollectionConfig]=\"postmanCollectionConfig\" >\r\n \r\n </app-postman-collections>\r\n}\r\n\r\n@if(!!hasValidValue && !!postmanCollectionConfig){\r\n<mat-toolbar>\r\n \r\n <button \r\n (click)=\"clearValue()\" [matTooltip]=\"value?.httpEndPoint\" class=\"item\" mat-flat-button\r\n >\r\n\r\n <span class=\"node-key method\" [style.color]=\" methodColor(value?.httpMethod)\">\r\n {{value?.httpMethod}}</span>\r\n <span>\r\n {{ value?.name }} \r\n\r\n </span>\r\n </button> \r\n</mat-toolbar>\r\n\r\n}\r\n\r\n@if(!postmanCollectionConfig) {\r\n <mat-toolbar color=\"warn\">\r\n <p style=\"font-size: 14px; white-space: normal;\r\n line-height: normal;\">\r\n No postman collection configured. \r\n Add Postman collection Id and Api key\r\n </p>\r\n \r\n </mat-toolbar>\r\n \r\n}\r\n", styles: [".item{text-align:left;display:flex;width:100%;justify-content:left;font-size:small;white-space:nowrap;font-weight:400;overflow:hidden}.center{display:flex!important;align-items:center}\n"] }]
|
|
437
|
-
}], () => [{ type: i1$1.NgControl, decorators: [{
|
|
438
|
-
type: Optional
|
|
439
|
-
}, {
|
|
440
|
-
type: Self
|
|
441
|
-
}] }, { type: i0.ElementRef }], { id: [{
|
|
442
|
-
type: HostBinding
|
|
443
|
-
}], postmanCollectionConfig: [{
|
|
444
|
-
type: Input
|
|
445
|
-
}], httpGetDataFunction: [{
|
|
446
|
-
type: Input
|
|
447
|
-
}], value: [{
|
|
448
|
-
type: Input
|
|
449
|
-
}], errors: [{
|
|
450
|
-
type: Input
|
|
451
|
-
}], valueChanged: [{
|
|
452
|
-
type: Output
|
|
453
|
-
}] }); })();
|
|
454
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(RestApiCallSetupComponent, { className: "RestApiCallSetupComponent", filePath: "lib/components/t-dynamic-data-edit/elements/rest-api-call-setup/rest-api-call-setup.component.ts", lineNumber: 23 }); })();
|
|
455
|
-
|
|
456
|
-
export { RestApiCallSetupComponent };
|
|
457
|
-
//# sourceMappingURL=ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ngx-t-forms-rest-api-call-setup.component-DDg4fCFx.mjs","sources":["../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/postman-collections/functions/filterCollectionItems.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/postman-collections/functions/methodColors.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/postman-collections/postman-collections.component.html","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/postman-collections/postman-collections.component.ts","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/rest-api-call-setup/rest-api-call-setup.component.html","../../../projects/ngx-t-forms/src/lib/components/t-dynamic-data-edit/elements/rest-api-call-setup/rest-api-call-setup.component.ts"],"sourcesContent":["import { IFolderItem, IGetPostmanCollections } from 'ngx-t-forms-types';\r\n\r\n// Update the filter function signature\r\nexport function filterCollectionItems(\r\n collections: IGetPostmanCollections,\r\n searchKey: string\r\n): IFolderItem[] {\r\n const items = collections.collection.item;\r\n const searchText = searchKey.trim().toLowerCase();\r\n if (!searchText) {\r\n return items\r\n }\r\n\r\n return items.filter(collection => {\r\n return searchInItems(collection.item, searchText);\r\n })\r\n \r\n}\r\n\r\nexport function searchInItems(\r\n items: IFolderItem[], \r\n searchText: string\r\n): boolean {\r\n if (!items) return false;\r\n\r\n for (const item of items) {\r\n // Check if current item matches search\r\n if (item.name?.toLowerCase().includes(searchText) || \r\n item.description?.toLowerCase().includes(searchText)) {\r\n return true;\r\n }\r\n\r\n // Recursively search in nested items\r\n if (item.item && searchInItems(item.item, searchText)) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n}","export function methodColor(method: string): string {\r\n switch (method) {\r\n case 'GET':\r\n return 'green';\r\n case 'POST':\r\n return 'chocolate';\r\n case 'PUT':\r\n return 'yellow'; \r\n case 'DELETE':\r\n return 'red';\r\n default:\r\n return 'currentColor';\r\n }\r\n }","\n@if (!!loading ) {\n<div class=\"loadingContainer\">\n <mat-spinner></mat-spinner>\n</div>\n\n}\n@if(!loading){\n <mat-toolbar class=\"search-container\">\n <mat-icon>\n search\n </mat-icon>\n <input type=\"search\" \n placeholder=\"Search api\" \n class=\"search-field\"\n (input)=\"searchTree($event)\"> \n </mat-toolbar>\n <mat-divider ></mat-divider>\n <ng-container *ngIf=\"treeComponent as tree\">\n <mat-tree [dataSource]=\"tree.dataSource\" [treeControl]=\" tree.treeControl\">\n <mat-tree-node *matTreeNodeDef=\"let node\" matTreeNodePadding>\n @if (loadingEndPoints.includes(node.value.id)) {\n <mat-spinner diameter=\"22\" class=\"loading-spinner\" >\n \n </mat-spinner>\n }\n <div class=\"line\" *ngFor=\"let line of getNodeLines(node.level)\" [style.left]=\"line* 40 +8 + 'px'\"></div>\n <button [disabled]=\"!node.value?.request?.body?.raw && node.value.request.method ==='POST' || !node.value?.request?.url?.raw \"\n (click)=\"selectNode(node.value)\" [matTooltip]=\"node.value?.request?.url?.raw || 'Invalid Postman config,missing Endpoint URL'\" class=\"item\" mat-button\n *ngIf=\"node.value?.request\">\n \n <span class=\"node-key method\" [style.color]=\" methodColor(node.value.request.method)\">\n <!-- -->\n\n {{node.value.request.method}}</span>\n <span>\n \n {{ node.key }} \n \n </span>\n </button>\n \n </mat-tree-node>\n \n <mat-tree-node *matTreeNodeDef=\"let node; when: tree.hasChild\" matTreeNodePadding>\n <button style=\"padding: 0px; \n \" mat-icon-button matTreeNodeToggle [attr.aria-label]=\"'Toggle ' + node.key\">\n <mat-icon>\n \n {{tree.treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right' }}\n </mat-icon>\n \n </button>\n \n <mat-icon style=\"color: var(--ion-color-medium)\">\n {{tree.treeControl.isExpanded(node) ? 'folder_open' : 'folder'}}\n\n </mat-icon>\n <span style=\"margin-left: 8px;font-weight:500\">\n \n {{ node.key }}\n </span>\n \n </mat-tree-node>\n </mat-tree>\n \n </ng-container>\n <ng-container *ngIf=\"error\">\n <mat-toolbar>\n <span style=\"color: red ;font-size:14px; line-height: normal;\n text-wrap: auto;\">\n {{error.message}}\n </span>\n </mat-toolbar>\n </ng-container>\n}\n","import { CommonModule } from '@angular/common';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { TreeComponent } from '../api-value-access-rules/functions/convertDataToTree';\r\nimport { IFolderItem, IGetPostmanCollections, IPostmanCollectionConfig } from \"ngx-t-forms-types\";\r\n\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { BehaviorSubject, catchError, Observable, take, tap, throwError } from 'rxjs';\r\nimport { convertPostmanFolderItemsToTree } from './functions/convertPostmanCollectionToTree';\r\nimport { filterCollectionItems } from './functions/filterCollectionItems';\r\nimport { methodColor } from './functions/methodColors';\r\n\r\n@Component({\r\n selector: 'app-postman-collections',\r\n templateUrl: './postman-collections.component.html',\r\n styleUrls: ['./postman-collections.component.scss'],\r\n standalone: true,\r\n imports: [CommonModule, MatModulesModule, FormsModule]\r\n})\r\nexport class PostmanCollectionsComponent implements OnInit {\r\n\r\n private _collection$: BehaviorSubject<IGetPostmanCollections | undefined> = new BehaviorSubject<IGetPostmanCollections | undefined>(undefined)\r\n get collection$(): Observable<IGetPostmanCollections | undefined> {\r\n return this._collection$.asObservable();\r\n }\r\n treeComponent = new TreeComponent();\r\n\r\n\r\n @Output() nodeSelectionChanged = new EventEmitter<IFolderItem>();\r\n\r\n constructor(private readonly httpClient: HttpClient) { }\r\n ngOnInit(): void {\r\n this.initializePostmanService()\r\n }\r\n _searchKey: string = ''\r\n\r\n @Input() postmanCollectionConfig: IPostmanCollectionConfig | undefined\r\n @Input() loadingEndPoints:string[] = []\r\n \r\n selectNode(node: IFolderItem): void {\r\n this.nodeSelectionChanged.emit(node);\r\n }\r\n\r\n private isValidConfig(config: IPostmanCollectionConfig | undefined): boolean {\r\n return Boolean(config?.collectionUrl && config?.collectionKey);\r\n }\r\n\r\n\r\n error: HttpErrorResponse | undefined\r\n loading: boolean = false\r\n private initializePostmanService(): void {\r\n const isValidConfig = this.isValidConfig(this.postmanCollectionConfig)\r\n if (!isValidConfig) {\r\n this.error = new HttpErrorResponse({\r\n error: 'Invalid Postman Collection Config',\r\n })\r\n return\r\n }\r\n const { collectionUrl, collectionKey } = this.postmanCollectionConfig!\r\n \r\n const requestOptions = {\r\n params: {\r\n apikey: collectionKey,\r\n clearSystemHeaders: true\r\n },\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n\r\n }\r\n }\r\n this.loading = true\r\n this.httpClient.get<IGetPostmanCollections>(\r\n collectionUrl,\r\n requestOptions\r\n ).pipe(\r\n take(1),\r\n tap((data) => {\r\n this._collection$.next(data)\r\n // To ensure the data can be shown as a tree\r\n const treeData = convertPostmanFolderItemsToTree(data.collection.item);\r\n this.treeComponent.assignDataSourceData(treeData)\r\n this.error = undefined\r\n this.loading = false\r\n }),\r\n catchError((err: HttpErrorResponse) => {\r\n this.loading = false\r\n this.error = err\r\n console.error(err)\r\n return throwError(err)\r\n })\r\n ).subscribe();\r\n }\r\n methodColor(method: string): string {\r\n return methodColor(method)\r\n }\r\n searchTree(event: any): void {\r\n const search: string = event.target.value\r\n this.collection$.pipe(\r\n take(1),\r\n tap((collection) => {\r\n if (!collection) {\r\n return\r\n }\r\n const items = filterCollectionItems(collection, search)\r\n const treeData = convertPostmanFolderItemsToTree(items);\r\n this.treeComponent.assignDataSourceData(treeData)\r\n\r\n\r\n })\r\n ).subscribe()\r\n }\r\n getNodeLines(level: number): number[] {\r\n return Array(level).fill(0).map((_, i) => i + 1)\r\n }\r\n}\r\n","\r\n@if(postmanCollectionConfig && !hasValidValue ){\r\n <app-postman-collections \r\n (nodeSelectionChanged)=\"nodeSelectionChanged($event)\"\r\n [loadingEndPoints]=\"loadingEndPoints\"\r\n [postmanCollectionConfig]=\"postmanCollectionConfig\" >\r\n \r\n </app-postman-collections>\r\n}\r\n\r\n@if(!!hasValidValue && !!postmanCollectionConfig){\r\n<mat-toolbar>\r\n \r\n <button \r\n (click)=\"clearValue()\" [matTooltip]=\"value?.httpEndPoint\" class=\"item\" mat-flat-button\r\n >\r\n\r\n <span class=\"node-key method\" [style.color]=\" methodColor(value?.httpMethod)\">\r\n {{value?.httpMethod}}</span>\r\n <span>\r\n {{ value?.name }} \r\n\r\n </span>\r\n </button> \r\n</mat-toolbar>\r\n\r\n}\r\n\r\n@if(!postmanCollectionConfig) {\r\n <mat-toolbar color=\"warn\">\r\n <p style=\"font-size: 14px; white-space: normal;\r\n line-height: normal;\">\r\n No postman collection configured. \r\n Add Postman collection Id and Api key\r\n </p>\r\n \r\n </mat-toolbar>\r\n \r\n}\r\n","import { Component, ElementRef, EventEmitter, HostBinding, Input, Optional, Output, Self } from '@angular/core';\r\nimport { PostmanCollectionsComponent } from '../postman-collections/postman-collections.component';\r\nimport { IFolderItem, IPostmanCollectionConfig } from \"ngx-t-forms-types\";\r\nimport { APIDataFetchingConfigurationInterface } from 'ngx-t-forms-types';\r\nimport { DataSources } from \"ngx-t-forms-types\";\r\n\r\nimport { CommonModule } from '@angular/common';\r\nimport { MatModulesModule } from '../../../../shared/modules/mat-modules.module';\r\nimport { methodColor } from '../postman-collections/functions/methodColors';\r\nimport { MatFormFieldControl } from '@angular/material/form-field';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { NgControl } from '@angular/forms';\r\nimport { IConfigElementError } from '../../t-dynamic-data-edit.component';\r\n\r\n@Component({\r\n selector: 'lib-rest-api-call-setup',\r\n standalone: true,\r\n imports: [PostmanCollectionsComponent,MatModulesModule,CommonModule],\r\n providers: [{ provide: MatFormFieldControl, useExisting:RestApiCallSetupComponent}],\r\n templateUrl: './rest-api-call-setup.component.html',\r\n styleUrl: './rest-api-call-setup.component.css'\r\n})\r\nexport class RestApiCallSetupComponent implements MatFormFieldControl<APIDataFetchingConfigurationInterface | undefined> {\r\n \r\n static nextId = 0;\r\n stateChanges = new Subject<void>();\r\n \r\n @HostBinding() id = `lib-rest-api-call-setup-${RestApiCallSetupComponent.nextId++}`;\r\n \r\n placeholder: string = ''\r\n constructor(@Optional() @Self() public ngControl: NgControl, private _elementRef: ElementRef<HTMLElement>,) { }\r\n focused: boolean = false;\r\n get empty() {\r\n return !this.value\r\n }\r\n get shouldLabelFloat() {\r\n return this.focused || !this.empty;\r\n }\r\n required: boolean = false;\r\n disabled: boolean = false;\r\n get errorState(): boolean {\r\n const hasError = !!this.ngControl?.control?.errors || (this.errors||[]).length > 0 && this.touched\r\n return !this.value && !!this.required || hasError\r\n }\r\n \r\n controlType?: string | undefined;\r\n autofilled?: boolean | undefined;\r\n userAriaDescribedBy?: string | undefined;\r\n disableAutomaticLabeling?: boolean | undefined;\r\n setDescribedByIds(ids: string[]) {\r\n // Ensure the component view is initialized\r\n if (this._elementRef && this._elementRef.nativeElement) {\r\n const controlElement = this._elementRef.nativeElement.querySelector('.lib-rest-api-call-setup');\r\n // Check if the controlElement exists before attempting to set its attribute\r\n if (controlElement) {\r\n controlElement.setAttribute('aria-describedby', ids.join(' '));\r\n }\r\n }\r\n }\r\n onContainerClick(event: MouseEvent): void {\r\n this.markAsTouched();\r\n this.stateChanges.next();\r\n }\r\n \r\n touched: boolean = false;\r\n onTouched = () => {};\r\n markAsTouched() {\r\n console.log('markAsTouched') \r\n if (!this.touched) {\r\n this.onTouched();\r\n this.touched = true;\r\n }\r\n } \r\n \r\n \r\n \r\n @Input() postmanCollectionConfig: IPostmanCollectionConfig | undefined\r\n @Input() httpGetDataFunction: ((url: string,options:any) => Observable<any>) | undefined = undefined\r\n private _value: APIDataFetchingConfigurationInterface | undefined;\r\n @Input() \r\n set value(val: APIDataFetchingConfigurationInterface | undefined) {\r\n if (JSON.stringify(val) !== JSON.stringify(this._value)) {\r\n this._value = val;\r\n }\r\n }\r\n get value(): APIDataFetchingConfigurationInterface | undefined {\r\n return this._value;\r\n }\r\n @Input() errors:IConfigElementError[] |undefined = [];\r\n @Output() valueChanged = new EventEmitter<APIDataFetchingConfigurationInterface | undefined >();\r\n loadingEndPoints: string[] = []\r\n async nodeSelectionChanged(node: IFolderItem) {\r\n\r\n const { id, name, request, response } = node;\r\n \r\n if(!request || !response) return;\r\n let requestBody\r\n try {\r\n requestBody = JSON.parse(request?.body?.raw || '{}')\r\n } catch (error) {\r\n console.error(\"API BODY PARSE ERROR\")\r\n requestBody = {}\r\n }\r\n \r\n \r\n\r\n \r\n const keyExtraction = (key: string, value: any, primaryKey: boolean) => {\r\n return ({\r\n name: key,\r\n type: typeof value,\r\n primaryKey\r\n }) as any\r\n }\r\n\r\n // if(request.method === 'GET'){\r\n // this.loadingEndPoints.push(id)\r\n // try {\r\n // responseBody = await this.httpGetDataFunction?.(request.url.raw)\r\n // } catch (error) {\r\n // console.error(error)\r\n // this.loadingEndPoints = this.loadingEndPoints.filter((item) => item !== id)\r\n // }\r\n\r\n // }\r\n \r\n const secondaryKeys = Object.entries(requestBody['data'] || {}).map(([key, value]) => keyExtraction(key, value, false))\r\n delete requestBody['data']\r\n\r\n const primaryKeys = Object.entries(requestBody).map(([key, value]) => keyExtraction(key, value, true))\r\n const minimumInputRequired: any = request?.method === 'POST' ? [...primaryKeys, ...secondaryKeys] : []\r\n const transformedNode= {\r\n _id: id,\r\n name: name,\r\n httpEndPoint: request.url.raw,\r\n httpMethod: request.method,\r\n source: DataSources.Api,\r\n postFormData: request.method === 'POST',\r\n backEndConfig: {\r\n minimumInputRequired,\r\n },\r\n \r\n } as APIDataFetchingConfigurationInterface \r\n const fetch: any = transformedNode;\r\n console.log(fetch)\r\n this.valueChanged.emit(fetch);\r\n }\r\n clearValue() {\r\n const source = this.value?.source as any\r\n this._value = undefined;\r\n this.valueChanged.emit(undefined);\r\n this.valueChanged.emit({source:source} as any);\r\n }\r\n methodColor(method: string| undefined): string {\r\n return methodColor(method||'POST')\r\n }\r\n get hasValidValue(){\r\n return Boolean(this.value) && Boolean(this.value?.httpEndPoint) && Boolean(this.value?.httpMethod) \r\n }\r\n \r\n}\r\n"],"names":["i3","i5","i6","i7","i9","i1","i2","i4"],"mappings":"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"}
|