@apipass/schemas 0.2.1-alpha.1 → 0.2.1-alpha.13
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/assets/css/buttons.scss +6 -0
- package/base-schema.component.d.ts +1 -0
- package/bundles/apipass-schemas.umd.js +49 -29
- package/bundles/apipass-schemas.umd.js.map +1 -1
- package/bundles/apipass-schemas.umd.min.js +2 -2
- package/bundles/apipass-schemas.umd.min.js.map +1 -1
- package/esm2015/base-schema.component.js +9 -1
- package/esm2015/schema-custom-attributes/schema-custom-attributes.js +4 -4
- package/esm2015/schema-form/schema-array/array-session/array-session.js +11 -10
- package/esm2015/schema-form/schema-input/input-render/boolean-input/boolean-input.component.js +9 -4
- package/esm2015/schema-form/schema-input/input-render/input-render.js +13 -9
- package/esm2015/schema-form/schema-input/input-render/number-input/number-input.component.js +9 -4
- package/fesm2015/apipass-schemas.js +46 -26
- package/fesm2015/apipass-schemas.js.map +1 -1
- package/package.json +1 -1
- package/schema-custom-attributes/schema-custom-attributes.d.ts +1 -1
- package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +2 -0
- package/schema-form/schema-input/input-render/input-render.d.ts +1 -0
- package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +2 -0
|
@@ -2,8 +2,8 @@ import { EventEmitter, ɵɵdefineComponent, ɵsetClassMetadata, Component, Input
|
|
|
2
2
|
import { NgForOf, NgIf, NgTemplateOutlet, NgClass, CommonModule, NgComponentOutlet, NgStyle, NgSwitch, NgSwitchCase, NgSwitchDefault, NgPlural, NgPluralCase, AsyncPipe, UpperCasePipe, LowerCasePipe, JsonPipe, SlicePipe, DecimalPipe, PercentPipe, TitleCasePipe, CurrencyPipe, DatePipe, I18nPluralPipe, I18nSelectPipe, KeyValuePipe } from '@angular/common';
|
|
3
3
|
import { DefaultValueAccessor, NgControlStatus, NgModel, MaxLengthValidator, FormsModule, ɵangular_packages_forms_forms_y, NgSelectOption, ɵangular_packages_forms_forms_x, NumberValueAccessor, RangeValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, SelectMultipleControlValueAccessor, RadioControlValueAccessor, NgControlStatusGroup, RequiredValidator, MinLengthValidator, PatternValidator, CheckboxRequiredValidator, EmailValidator, NgModelGroup, NgForm, FormControl, Validators } from '@angular/forms';
|
|
4
4
|
import { TranslatePipe, TranslateService, TranslateModule, TranslateDirective } from '@ngx-translate/core';
|
|
5
|
-
import { MatTooltip, MatTooltipModule, TooltipComponent } from '@angular/material/tooltip';
|
|
6
5
|
import { DndDropzoneDirective, DndModule, DndDraggableDirective, DndHandleDirective, DndPlaceholderRefDirective, DndDragImageRefDirective } from 'ngx-drag-drop';
|
|
6
|
+
import { MatTooltip, MatTooltipModule, TooltipComponent } from '@angular/material/tooltip';
|
|
7
7
|
import { SelectBoxComponent, InputsModule, SelectEnumComponent, InputTextComponent, InputPasswordComponent, InputAvatarComponent, InputFileComponent, CustomSelectComponent, FieldComponent } from '@apipass/inputs';
|
|
8
8
|
import { __awaiter } from 'tslib';
|
|
9
9
|
import { Dir } from '@angular/cdk/bidi';
|
|
@@ -21,6 +21,14 @@ class BaseSchemaComponent {
|
|
|
21
21
|
property.canRender = (property === null || property === void 0 ? void 0 : property.conditionExpression) ? eval(property.conditionExpression) : true;
|
|
22
22
|
return property.canRender;
|
|
23
23
|
}
|
|
24
|
+
onDrop(event, attr) {
|
|
25
|
+
const data = event.data;
|
|
26
|
+
if (!attr) {
|
|
27
|
+
attr = '';
|
|
28
|
+
}
|
|
29
|
+
attr += `{{${data}}}`;
|
|
30
|
+
return attr;
|
|
31
|
+
}
|
|
24
32
|
}
|
|
25
33
|
BaseSchemaComponent.ɵfac = function BaseSchemaComponent_Factory(t) { return new (t || BaseSchemaComponent)(); };
|
|
26
34
|
BaseSchemaComponent.ɵcmp = ɵɵdefineComponent({ type: BaseSchemaComponent, selectors: [["ng-component"]], inputs: { model: "model", schema: "schema" }, outputs: { modelChange: "modelChange" }, decls: 0, vars: 0, template: function BaseSchemaComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
|
@@ -55,7 +63,7 @@ function ArraySessionComponent_div_5_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
55
63
|
ɵɵtext(3, "Loop");
|
|
56
64
|
ɵɵelementEnd();
|
|
57
65
|
ɵɵelementStart(4, "input", 14);
|
|
58
|
-
ɵɵlistener("ngModelChange", function ArraySessionComponent_div_5_div_5_Template_input_ngModelChange_4_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; return item_r2.loop = $event; });
|
|
66
|
+
ɵɵlistener("ngModelChange", function ArraySessionComponent_div_5_div_5_Template_input_ngModelChange_4_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; return item_r2.loop = $event; })("dndDrop", function ArraySessionComponent_div_5_div_5_Template_input_dndDrop_4_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; const ctx_r9 = ɵɵnextContext(); return item_r2.loop = ctx_r9.onDrop($event, item_r2.loop); });
|
|
59
67
|
ɵɵelementEnd();
|
|
60
68
|
ɵɵelementEnd();
|
|
61
69
|
ɵɵelementStart(5, "div", 15);
|
|
@@ -63,7 +71,7 @@ function ArraySessionComponent_div_5_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
63
71
|
ɵɵtext(7, "Alias");
|
|
64
72
|
ɵɵelementEnd();
|
|
65
73
|
ɵɵelementStart(8, "input", 14);
|
|
66
|
-
ɵɵlistener("ngModelChange", function ArraySessionComponent_div_5_div_5_Template_input_ngModelChange_8_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; return item_r2.alias = $event; });
|
|
74
|
+
ɵɵlistener("ngModelChange", function ArraySessionComponent_div_5_div_5_Template_input_ngModelChange_8_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; return item_r2.alias = $event; })("dndDrop", function ArraySessionComponent_div_5_div_5_Template_input_dndDrop_8_listener($event) { ɵɵrestoreView(_r8); const item_r2 = ɵɵnextContext().$implicit; const ctx_r13 = ɵɵnextContext(); return item_r2.alias = ctx_r13.onDrop($event, item_r2.alias); });
|
|
67
75
|
ɵɵelementEnd();
|
|
68
76
|
ɵɵelementEnd();
|
|
69
77
|
ɵɵelementEnd();
|
|
@@ -80,13 +88,13 @@ function ArraySessionComponent_div_5_ng_container_6_Template(rf, ctx) { if (rf &
|
|
|
80
88
|
const _c1 = function (a0, a1, a2) { return { items: a0, index: a1, mappingAttributes: a2 }; };
|
|
81
89
|
const _c2 = function (a0) { return { $implicit: a0 }; };
|
|
82
90
|
function ArraySessionComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
-
const
|
|
91
|
+
const _r17 = ɵɵgetCurrentView();
|
|
84
92
|
ɵɵelementStart(0, "div", 7);
|
|
85
93
|
ɵɵelementStart(1, "div", 8);
|
|
86
94
|
ɵɵtext(2);
|
|
87
95
|
ɵɵpipe(3, "translate");
|
|
88
96
|
ɵɵelementStart(4, "i", 9);
|
|
89
|
-
ɵɵlistener("click", function ArraySessionComponent_div_5_Template_i_click_4_listener() { ɵɵrestoreView(
|
|
97
|
+
ɵɵlistener("click", function ArraySessionComponent_div_5_Template_i_click_4_listener() { ɵɵrestoreView(_r17); const item_r2 = ctx.$implicit; const ctx_r16 = ɵɵnextContext(); return ctx_r16.remove(item_r2); });
|
|
90
98
|
ɵɵelementEnd();
|
|
91
99
|
ɵɵelementEnd();
|
|
92
100
|
ɵɵtemplate(5, ArraySessionComponent_div_5_div_5_Template, 9, 6, "div", 10);
|
|
@@ -104,9 +112,9 @@ function ArraySessionComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
|
104
112
|
ɵɵproperty("ngTemplateOutlet", ctx_r0.subsectionItem)("ngTemplateOutletContext", ɵɵpureFunction1(11, _c2, ɵɵpureFunction3(7, _c1, ctx_r0.model, index_r3, item_r2.mappingAttributes || item_r2.mappingAttributes === "" ? item_r2.mappingAttributes : item_r2)));
|
|
105
113
|
} }
|
|
106
114
|
function ArraySessionComponent_button_11_Template(rf, ctx) { if (rf & 1) {
|
|
107
|
-
const
|
|
115
|
+
const _r19 = ɵɵgetCurrentView();
|
|
108
116
|
ɵɵelementStart(0, "button", 16);
|
|
109
|
-
ɵɵlistener("click", function ArraySessionComponent_button_11_Template_button_click_0_listener() { ɵɵrestoreView(
|
|
117
|
+
ɵɵlistener("click", function ArraySessionComponent_button_11_Template_button_click_0_listener() { ɵɵrestoreView(_r19); const ctx_r18 = ɵɵnextContext(); return ctx_r18.addLoop(); });
|
|
110
118
|
ɵɵtext(1);
|
|
111
119
|
ɵɵpipe(2, "translate");
|
|
112
120
|
ɵɵelementEnd();
|
|
@@ -145,7 +153,7 @@ ArraySessionComponent.ɵcmp = ɵɵdefineComponent({ type: ArraySessionComponent,
|
|
|
145
153
|
} if (rf & 2) {
|
|
146
154
|
var _t;
|
|
147
155
|
ɵɵqueryRefresh(_t = ɵɵloadQuery()) && (ctx.subsectionItem = _t.first);
|
|
148
|
-
} }, inputs: { label: "label", showAddLoop: "showAddLoop", removeLabel: "removeLabel" }, outputs: { onAdd: "onAdd", onAddLoop: "onAddLoop" }, features: [ɵɵInheritDefinitionFeature], decls: 12, vars: 9, consts: [[1, "row"], [1, "col-md-12"], [1, "info-label", "bold"], ["class", "subsection-element", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "row", "add-buttons"], [1, "btn", "btn-outline-primary", "float-left", "btn-personal-edit", 3, "click"], ["class", "btn btn-outline-primary float-left btn-personal-edit ml-2", 3, "click", 4, "ngIf"], [1, "subsection-element"], [1, "subsection-item-title"], [1, "far", "fa-trash-alt", 3, "click"], ["class", "row", 4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "col-md-8"], [1, "info-label"], ["type", "text", 1, "form-control", 3, "ngModel", "ngModelOptions", "ngModelChange"], [1, "col-md-4"], [1, "btn", "btn-outline-primary", "float-left", "btn-personal-edit", "ml-2", 3, "click"]], template: function ArraySessionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
156
|
+
} }, inputs: { label: "label", showAddLoop: "showAddLoop", removeLabel: "removeLabel" }, outputs: { onAdd: "onAdd", onAddLoop: "onAddLoop" }, features: [ɵɵInheritDefinitionFeature], decls: 12, vars: 9, consts: [[1, "row"], [1, "col-md-12"], [1, "info-label", "bold"], ["class", "subsection-element", 4, "ngFor", "ngForOf", "ngForTrackBy"], [1, "row", "add-buttons"], [1, "btn", "btn-outline-primary", "float-left", "btn-personal-edit", 3, "click"], ["class", "btn btn-outline-primary float-left btn-personal-edit ml-2", 3, "click", 4, "ngIf"], [1, "subsection-element"], [1, "subsection-item-title"], [1, "far", "fa-trash-alt", 3, "click"], ["class", "row", 4, "ngIf"], [4, "ngTemplateOutlet", "ngTemplateOutletContext"], [1, "col-md-8"], [1, "info-label"], ["type", "text", "dndDropzone", "", 1, "form-control", 3, "ngModel", "ngModelOptions", "ngModelChange", "dndDrop"], [1, "col-md-4"], [1, "btn", "btn-outline-primary", "float-left", "btn-personal-edit", "ml-2", 3, "click"]], template: function ArraySessionComponent_Template(rf, ctx) { if (rf & 1) {
|
|
149
157
|
ɵɵelementStart(0, "div", 0);
|
|
150
158
|
ɵɵelementStart(1, "div", 1);
|
|
151
159
|
ɵɵelementStart(2, "label", 2);
|
|
@@ -174,7 +182,7 @@ ArraySessionComponent.ɵcmp = ɵɵdefineComponent({ type: ArraySessionComponent,
|
|
|
174
182
|
ɵɵtextInterpolate(ɵɵpipeBind1(10, 7, "ADD_ITEM"));
|
|
175
183
|
ɵɵadvance(2);
|
|
176
184
|
ɵɵproperty("ngIf", ctx.showAddLoop);
|
|
177
|
-
} }, directives: [NgForOf, NgIf, NgTemplateOutlet, DefaultValueAccessor, NgControlStatus, NgModel], pipes: [TranslatePipe], styles: [".subsection-element[_ngcontent-%COMP%]{background:#fff;border:1px solid #ccc;border-radius:5px;margin-top:10px;padding:5px 15px 15px}.subsection-element[_ngcontent-%COMP%]:first-child{margin-top:0!important}.btn-personal-edit[_ngcontent-%COMP%]{margin:5px 0}.subsection-item-title[_ngcontent-%COMP%]{align-items:center;background:#eee;border-bottom:1px solid #ccc;border-radius:5px 5px 0 0;display:flex;font-weight:700;justify-content:space-between;margin-bottom:5px;margin-left:-15px;margin-top:-5px;padding:7px 10px 7px 14px;width:calc(100% + 30px)}.subsection-item-title[_ngcontent-%COMP%] .fa-trash-alt[_ngcontent-%COMP%]{color:red;cursor:pointer}.subsection-item-title[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:700}.add-buttons[_ngcontent-%COMP%]{margin-top:5px}"] });
|
|
185
|
+
} }, directives: [NgForOf, NgIf, NgTemplateOutlet, DefaultValueAccessor, DndDropzoneDirective, NgControlStatus, NgModel], pipes: [TranslatePipe], styles: [".subsection-element[_ngcontent-%COMP%]{background:#fff;border:1px solid #ccc;border-radius:5px;margin-top:10px;padding:5px 15px 15px}.subsection-element[_ngcontent-%COMP%]:first-child{margin-top:0!important}.btn-personal-edit[_ngcontent-%COMP%]{margin:5px 0}.subsection-item-title[_ngcontent-%COMP%]{align-items:center;background:#eee;border-bottom:1px solid #ccc;border-radius:5px 5px 0 0;display:flex;font-weight:700;justify-content:space-between;margin-bottom:5px;margin-left:-15px;margin-top:-5px;padding:7px 10px 7px 14px;width:calc(100% + 30px)}.subsection-item-title[_ngcontent-%COMP%] .fa-trash-alt[_ngcontent-%COMP%]{color:red;cursor:pointer}.subsection-item-title[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{font-weight:700}.add-buttons[_ngcontent-%COMP%]{margin-top:5px}"] });
|
|
178
186
|
const ɵArraySessionComponent_BaseFactory = /*@__PURE__*/ ɵɵgetInheritedFactory(ArraySessionComponent);
|
|
179
187
|
/*@__PURE__*/ (function () { ɵsetClassMetadata(ArraySessionComponent, [{
|
|
180
188
|
type: Component,
|
|
@@ -280,7 +288,7 @@ function SchemaCustomAttributesComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
|
280
288
|
ɵɵpipe(6, "translate");
|
|
281
289
|
ɵɵelementEnd();
|
|
282
290
|
ɵɵelementStart(7, "input", 11);
|
|
283
|
-
ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_0_Template_input_ngModelChange_7_listener($event) { ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; return attribute_r5.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_0_Template_input_dndDrop_7_listener($event) { ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; const ctx_r10 = ɵɵnextContext(); return ctx_r10.
|
|
291
|
+
ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_0_Template_input_ngModelChange_7_listener($event) { ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; return attribute_r5.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_0_Template_input_dndDrop_7_listener($event) { ɵɵrestoreView(_r8); const attribute_r5 = ctx.$implicit; const ctx_r10 = ɵɵnextContext(); return ctx_r10.onDropAttr($event, attribute_r5); });
|
|
284
292
|
ɵɵelementEnd();
|
|
285
293
|
ɵɵelementEnd();
|
|
286
294
|
ɵɵelementEnd();
|
|
@@ -320,7 +328,7 @@ function SchemaCustomAttributesComponent_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
320
328
|
ɵɵelementEnd();
|
|
321
329
|
ɵɵelementEnd();
|
|
322
330
|
ɵɵelementStart(16, "input", 11);
|
|
323
|
-
ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_1_Template_input_ngModelChange_16_listener($event) { ɵɵrestoreView(_r12); const ctx_r13 = ɵɵnextContext(); return ctx_r13.newCustomField.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_1_Template_input_dndDrop_16_listener($event) { ɵɵrestoreView(_r12); const ctx_r14 = ɵɵnextContext(); return ctx_r14.
|
|
331
|
+
ɵɵlistener("ngModelChange", function SchemaCustomAttributesComponent_div_1_Template_input_ngModelChange_16_listener($event) { ɵɵrestoreView(_r12); const ctx_r13 = ɵɵnextContext(); return ctx_r13.newCustomField.value = $event; })("dndDrop", function SchemaCustomAttributesComponent_div_1_Template_input_dndDrop_16_listener($event) { ɵɵrestoreView(_r12); const ctx_r14 = ɵɵnextContext(); return ctx_r14.onDropAttr($event, ctx_r14.newCustomField); });
|
|
324
332
|
ɵɵelementEnd();
|
|
325
333
|
ɵɵelementEnd();
|
|
326
334
|
ɵɵelementEnd();
|
|
@@ -390,7 +398,7 @@ class SchemaCustomAttributesComponent extends BaseSchemaComponent {
|
|
|
390
398
|
this.model.splice(attributeIndex, 1);
|
|
391
399
|
this.modelChange.emit(this.model);
|
|
392
400
|
}
|
|
393
|
-
|
|
401
|
+
onDropAttr($event, attribute) {
|
|
394
402
|
if (!attribute.value) {
|
|
395
403
|
attribute.value = '';
|
|
396
404
|
}
|
|
@@ -691,6 +699,10 @@ class NumberInputComponent extends BaseSchemaComponent {
|
|
|
691
699
|
ngAfterContentInit() {
|
|
692
700
|
this.value = this.model;
|
|
693
701
|
}
|
|
702
|
+
onDropCallBack($event, value) {
|
|
703
|
+
this.value = value = super.onDrop($event, value);
|
|
704
|
+
this.changeValue(value);
|
|
705
|
+
}
|
|
694
706
|
changeValue($event) {
|
|
695
707
|
if ($event && !isNaN($event)) {
|
|
696
708
|
this.model = Number($event);
|
|
@@ -703,13 +715,13 @@ class NumberInputComponent extends BaseSchemaComponent {
|
|
|
703
715
|
}
|
|
704
716
|
}
|
|
705
717
|
NumberInputComponent.ɵfac = function NumberInputComponent_Factory(t) { return ɵNumberInputComponent_BaseFactory(t || NumberInputComponent); };
|
|
706
|
-
NumberInputComponent.ɵcmp = ɵɵdefineComponent({ type: NumberInputComponent, selectors: [["number-input"]], inputs: { placeholder: "placeholder", inputId: "inputId", maxLength: "maxLength" }, features: [ɵɵInheritDefinitionFeature], decls: 1, vars: 6, consts: [[1, "form-control", "number-input", 3, "id", "placeholder", "ngModel", "ngModelOptions", "maxlength", "ngModelChange"]], template: function NumberInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
718
|
+
NumberInputComponent.ɵcmp = ɵɵdefineComponent({ type: NumberInputComponent, selectors: [["number-input"]], inputs: { placeholder: "placeholder", inputId: "inputId", maxLength: "maxLength" }, features: [ɵɵInheritDefinitionFeature], decls: 1, vars: 6, consts: [["dndDropzone", "", 1, "form-control", "number-input", 3, "id", "placeholder", "ngModel", "ngModelOptions", "maxlength", "ngModelChange", "dndDrop"]], template: function NumberInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
707
719
|
ɵɵelementStart(0, "input", 0);
|
|
708
|
-
ɵɵlistener("ngModelChange", function NumberInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.value = $event; })("ngModelChange", function NumberInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.changeValue($event); });
|
|
720
|
+
ɵɵlistener("ngModelChange", function NumberInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.value = $event; })("ngModelChange", function NumberInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.changeValue($event); })("dndDrop", function NumberInputComponent_Template_input_dndDrop_0_listener($event) { return ctx.onDropCallBack($event, ctx.value); });
|
|
709
721
|
ɵɵelementEnd();
|
|
710
722
|
} if (rf & 2) {
|
|
711
723
|
ɵɵproperty("id", ctx.inputId)("placeholder", ctx.placeholder)("ngModel", ctx.value)("ngModelOptions", ɵɵpureFunction0(5, _c0$4))("maxlength", ctx.maxLength);
|
|
712
|
-
} }, directives: [DefaultValueAccessor, NgControlStatus, NgModel, MaxLengthValidator], encapsulation: 2 });
|
|
724
|
+
} }, directives: [DefaultValueAccessor, DndDropzoneDirective, NgControlStatus, NgModel, MaxLengthValidator], encapsulation: 2 });
|
|
713
725
|
const ɵNumberInputComponent_BaseFactory = /*@__PURE__*/ ɵɵgetInheritedFactory(NumberInputComponent);
|
|
714
726
|
/*@__PURE__*/ (function () { ɵsetClassMetadata(NumberInputComponent, [{
|
|
715
727
|
type: Component,
|
|
@@ -730,6 +742,10 @@ class BooleanInputComponent extends BaseSchemaComponent {
|
|
|
730
742
|
ngAfterContentInit() {
|
|
731
743
|
this.value = this.model;
|
|
732
744
|
}
|
|
745
|
+
onDropCallBack($event, value) {
|
|
746
|
+
this.value = value = super.onDrop($event, value);
|
|
747
|
+
this.changeValue(value);
|
|
748
|
+
}
|
|
733
749
|
changeValue($event) {
|
|
734
750
|
if ($event && ($event === 'true' || $event === 'false')) {
|
|
735
751
|
this.model = $event === 'true';
|
|
@@ -744,13 +760,13 @@ class BooleanInputComponent extends BaseSchemaComponent {
|
|
|
744
760
|
}
|
|
745
761
|
}
|
|
746
762
|
BooleanInputComponent.ɵfac = function BooleanInputComponent_Factory(t) { return ɵBooleanInputComponent_BaseFactory(t || BooleanInputComponent); };
|
|
747
|
-
BooleanInputComponent.ɵcmp = ɵɵdefineComponent({ type: BooleanInputComponent, selectors: [["boolean-input"]], inputs: { placeholder: "placeholder", inputId: "inputId", maxLength: "maxLength" }, features: [ɵɵInheritDefinitionFeature], decls: 1, vars: 6, consts: [[1, "form-control", 3, "id", "placeholder", "ngModel", "ngModelOptions", "maxlength", "ngModelChange"]], template: function BooleanInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
763
|
+
BooleanInputComponent.ɵcmp = ɵɵdefineComponent({ type: BooleanInputComponent, selectors: [["boolean-input"]], inputs: { placeholder: "placeholder", inputId: "inputId", maxLength: "maxLength" }, features: [ɵɵInheritDefinitionFeature], decls: 1, vars: 6, consts: [["dndDropzone", "", 1, "form-control", 3, "id", "placeholder", "ngModel", "ngModelOptions", "maxlength", "ngModelChange", "dndDrop"]], template: function BooleanInputComponent_Template(rf, ctx) { if (rf & 1) {
|
|
748
764
|
ɵɵelementStart(0, "input", 0);
|
|
749
|
-
ɵɵlistener("ngModelChange", function BooleanInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.value = $event; })("ngModelChange", function BooleanInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.changeValue($event); });
|
|
765
|
+
ɵɵlistener("ngModelChange", function BooleanInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.value = $event; })("ngModelChange", function BooleanInputComponent_Template_input_ngModelChange_0_listener($event) { return ctx.changeValue($event); })("dndDrop", function BooleanInputComponent_Template_input_dndDrop_0_listener($event) { return ctx.onDropCallBack($event, ctx.value); });
|
|
750
766
|
ɵɵelementEnd();
|
|
751
767
|
} if (rf & 2) {
|
|
752
768
|
ɵɵproperty("id", ctx.inputId)("placeholder", ctx.placeholder)("ngModel", ctx.value)("ngModelOptions", ɵɵpureFunction0(5, _c0$5))("maxlength", ctx.maxLength);
|
|
753
|
-
} }, directives: [DefaultValueAccessor, NgControlStatus, NgModel, MaxLengthValidator], encapsulation: 2 });
|
|
769
|
+
} }, directives: [DefaultValueAccessor, DndDropzoneDirective, NgControlStatus, NgModel, MaxLengthValidator], encapsulation: 2 });
|
|
754
770
|
const ɵBooleanInputComponent_BaseFactory = /*@__PURE__*/ ɵɵgetInheritedFactory(BooleanInputComponent);
|
|
755
771
|
/*@__PURE__*/ (function () { ɵsetClassMetadata(BooleanInputComponent, [{
|
|
756
772
|
type: Component,
|
|
@@ -770,7 +786,7 @@ const _c0$6 = function () { return { standalone: true }; };
|
|
|
770
786
|
function InputRenderComponent_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
771
787
|
const _r5 = ɵɵgetCurrentView();
|
|
772
788
|
ɵɵelementStart(0, "input", 4);
|
|
773
|
-
ɵɵlistener("ngModelChange", function InputRenderComponent_input_1_Template_input_ngModelChange_0_listener($event) { ɵɵrestoreView(_r5); const ctx_r4 = ɵɵnextContext(); return ctx_r4.value = $event; })("ngModelChange", function InputRenderComponent_input_1_Template_input_ngModelChange_0_listener($event) { ɵɵrestoreView(_r5); const ctx_r6 = ɵɵnextContext(); return ctx_r6.onChange($event); });
|
|
789
|
+
ɵɵlistener("ngModelChange", function InputRenderComponent_input_1_Template_input_ngModelChange_0_listener($event) { ɵɵrestoreView(_r5); const ctx_r4 = ɵɵnextContext(); return ctx_r4.value = $event; })("ngModelChange", function InputRenderComponent_input_1_Template_input_ngModelChange_0_listener($event) { ɵɵrestoreView(_r5); const ctx_r6 = ɵɵnextContext(); return ctx_r6.onChange($event); })("dndDrop", function InputRenderComponent_input_1_Template_input_dndDrop_0_listener($event) { ɵɵrestoreView(_r5); const ctx_r7 = ɵɵnextContext(); return ctx_r7.onDropCallBack($event, ctx_r7.value); });
|
|
774
790
|
ɵɵelementEnd();
|
|
775
791
|
} if (rf & 2) {
|
|
776
792
|
const ctx_r0 = ɵɵnextContext();
|
|
@@ -778,9 +794,9 @@ function InputRenderComponent_input_1_Template(rf, ctx) { if (rf & 1) {
|
|
|
778
794
|
ɵɵproperty("type", ctx_r0.schema.type === "password" ? "password" : "text")("ngModel", ctx_r0.value)("ngModelOptions", ɵɵpureFunction0(6, _c0$6))("id", ctx_r0.inputId)("maxlength", ctx_r0.schema.maxLength);
|
|
779
795
|
} }
|
|
780
796
|
function InputRenderComponent_select_box_2_Template(rf, ctx) { if (rf & 1) {
|
|
781
|
-
const
|
|
797
|
+
const _r9 = ɵɵgetCurrentView();
|
|
782
798
|
ɵɵelementStart(0, "select-box", 5);
|
|
783
|
-
ɵɵlistener("ngModelChange", function InputRenderComponent_select_box_2_Template_select_box_ngModelChange_0_listener($event) { ɵɵrestoreView(
|
|
799
|
+
ɵɵlistener("ngModelChange", function InputRenderComponent_select_box_2_Template_select_box_ngModelChange_0_listener($event) { ɵɵrestoreView(_r9); const ctx_r8 = ɵɵnextContext(); return ctx_r8.value = $event; })("ngModelChange", function InputRenderComponent_select_box_2_Template_select_box_ngModelChange_0_listener($event) { ɵɵrestoreView(_r9); const ctx_r10 = ɵɵnextContext(); return ctx_r10.onChange($event.key); });
|
|
784
800
|
ɵɵpipe(1, "translate");
|
|
785
801
|
ɵɵpipe(2, "translate");
|
|
786
802
|
ɵɵpipe(3, "translate");
|
|
@@ -791,18 +807,18 @@ function InputRenderComponent_select_box_2_Template(rf, ctx) { if (rf & 1) {
|
|
|
791
807
|
ɵɵproperty("id", ctx_r1.inputId)("ngModel", ctx_r1.value)("ngModelOptions", ɵɵpureFunction0(20, _c0$6))("placeholder", ɵɵpipeBind1(1, 12, ctx_r1.schema.description || "COMPONENTS.SCHEMA.SELECT.PLACEHOLDER"))("searchPlaceHolder", ɵɵpipeBind1(2, 14, "COMPONENTS.SCHEMA.SELECT.SEARCH"))("clearText", ɵɵpipeBind1(3, 16, "COMPONENTS.SCHEMA.SELECT.CLEAR"))("notFoundText", ɵɵpipeBind1(4, 18, "COMPONENTS.SCHEMA.SELECT.NOT_FOUND"))("bindKey", "key")("bindValue", "value")("enabledSearch", true)("limitItens", 30)("data", ctx_r1.schema.options);
|
|
792
808
|
} }
|
|
793
809
|
function InputRenderComponent_number_input_3_Template(rf, ctx) { if (rf & 1) {
|
|
794
|
-
const
|
|
810
|
+
const _r12 = ɵɵgetCurrentView();
|
|
795
811
|
ɵɵelementStart(0, "number-input", 6);
|
|
796
|
-
ɵɵlistener("modelChange", function InputRenderComponent_number_input_3_Template_number_input_modelChange_0_listener($event) { ɵɵrestoreView(
|
|
812
|
+
ɵɵlistener("modelChange", function InputRenderComponent_number_input_3_Template_number_input_modelChange_0_listener($event) { ɵɵrestoreView(_r12); const ctx_r11 = ɵɵnextContext(); return ctx_r11.value = $event; })("modelChange", function InputRenderComponent_number_input_3_Template_number_input_modelChange_0_listener($event) { ɵɵrestoreView(_r12); const ctx_r13 = ɵɵnextContext(); return ctx_r13.onChange($event); });
|
|
797
813
|
ɵɵelementEnd();
|
|
798
814
|
} if (rf & 2) {
|
|
799
815
|
const ctx_r2 = ɵɵnextContext();
|
|
800
816
|
ɵɵproperty("model", ctx_r2.value)("inputId", ctx_r2.inputId)("placeholder", ctx_r2.schema.description)("maxLength", ctx_r2.schema.maxLength);
|
|
801
817
|
} }
|
|
802
818
|
function InputRenderComponent_boolean_input_4_Template(rf, ctx) { if (rf & 1) {
|
|
803
|
-
const
|
|
819
|
+
const _r15 = ɵɵgetCurrentView();
|
|
804
820
|
ɵɵelementStart(0, "boolean-input", 6);
|
|
805
|
-
ɵɵlistener("modelChange", function InputRenderComponent_boolean_input_4_Template_boolean_input_modelChange_0_listener($event) { ɵɵrestoreView(
|
|
821
|
+
ɵɵlistener("modelChange", function InputRenderComponent_boolean_input_4_Template_boolean_input_modelChange_0_listener($event) { ɵɵrestoreView(_r15); const ctx_r14 = ɵɵnextContext(); return ctx_r14.value = $event; })("modelChange", function InputRenderComponent_boolean_input_4_Template_boolean_input_modelChange_0_listener($event) { ɵɵrestoreView(_r15); const ctx_r16 = ɵɵnextContext(); return ctx_r16.onChange($event); });
|
|
806
822
|
ɵɵelementEnd();
|
|
807
823
|
} if (rf & 2) {
|
|
808
824
|
const ctx_r3 = ɵɵnextContext();
|
|
@@ -837,13 +853,17 @@ class InputRenderComponent extends BaseSchemaComponent {
|
|
|
837
853
|
}
|
|
838
854
|
}
|
|
839
855
|
}
|
|
856
|
+
onDropCallBack($event, value) {
|
|
857
|
+
this.value = value = super.onDrop($event, value);
|
|
858
|
+
this.onChange(value);
|
|
859
|
+
}
|
|
840
860
|
onChange($event) {
|
|
841
861
|
this.model = $event;
|
|
842
862
|
this.modelChange.emit(this.model);
|
|
843
863
|
}
|
|
844
864
|
}
|
|
845
865
|
InputRenderComponent.ɵfac = function InputRenderComponent_Factory(t) { return ɵInputRenderComponent_BaseFactory(t || InputRenderComponent); };
|
|
846
|
-
InputRenderComponent.ɵcmp = ɵɵdefineComponent({ type: InputRenderComponent, selectors: [["input-render"]], inputs: { schema: "schema", modelPropertiesPath: "modelPropertiesPath", inputId: "inputId", editing: "editing" }, outputs: { onDropEvent: "onDropEvent" }, features: [ɵɵInheritDefinitionFeature], decls: 5, vars: 4, consts: [[1, "schema-input-container"], ["class", "form-control", "dndDropzone", "", 3, "type", "placeholder", "ngModel", "ngModelOptions", "id", "maxlength", "ngModelChange", 4, "ngIf"], [3, "id", "ngModel", "ngModelOptions", "placeholder", "searchPlaceHolder", "clearText", "notFoundText", "bindKey", "bindValue", "enabledSearch", "limitItens", "data", "ngModelChange", 4, "ngIf"], [
|
|
866
|
+
InputRenderComponent.ɵcmp = ɵɵdefineComponent({ type: InputRenderComponent, selectors: [["input-render"]], inputs: { schema: "schema", modelPropertiesPath: "modelPropertiesPath", inputId: "inputId", editing: "editing" }, outputs: { onDropEvent: "onDropEvent" }, features: [ɵɵInheritDefinitionFeature], decls: 5, vars: 4, consts: [[1, "schema-input-container"], ["class", "form-control", "dndDropzone", "", 3, "type", "placeholder", "ngModel", "ngModelOptions", "id", "maxlength", "ngModelChange", "dndDrop", 4, "ngIf"], [3, "id", "ngModel", "ngModelOptions", "placeholder", "searchPlaceHolder", "clearText", "notFoundText", "bindKey", "bindValue", "enabledSearch", "limitItens", "data", "ngModelChange", 4, "ngIf"], [3, "model", "inputId", "placeholder", "maxLength", "modelChange", 4, "ngIf"], ["dndDropzone", "", 1, "form-control", 3, "type", "placeholder", "ngModel", "ngModelOptions", "id", "maxlength", "ngModelChange", "dndDrop"], [3, "id", "ngModel", "ngModelOptions", "placeholder", "searchPlaceHolder", "clearText", "notFoundText", "bindKey", "bindValue", "enabledSearch", "limitItens", "data", "ngModelChange"], [3, "model", "inputId", "placeholder", "maxLength", "modelChange"]], template: function InputRenderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
847
867
|
ɵɵelementStart(0, "div", 0);
|
|
848
868
|
ɵɵtemplate(1, InputRenderComponent_input_1_Template, 1, 7, "input", 1);
|
|
849
869
|
ɵɵtemplate(2, InputRenderComponent_select_box_2_Template, 5, 21, "select-box", 2);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"apipass-schemas.js","sources":["../../../projects/schemas/src/base-schema.component.ts","../../../projects/schemas/src/struct.utils.ts","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.html","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.ts","../../../projects/schemas/src/schema-form/schema-form.html","../../../projects/schemas/src/schema-form/schema-form.ts","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.html","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.ts","../../../projects/schemas/src/schema-form/schema-array/schema-array.html","../../../projects/schemas/src/schema-form/schema-array/schema-array.ts","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.html","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.ts","../../../projects/schemas/src/schema-form/schema-input/schema-input.html","../../../projects/schemas/src/schema-form/schema-input/schema-input.ts","../../../projects/schemas/src/schema-form/schema-object/schema-object.html","../../../projects/schemas/src/schema-form/schema-object/schema-object.ts","../../../projects/schemas/src/schema-validation-field.ts","../../../projects/schemas/src/schema-fields.service.ts","../../../projects/schemas/src/schema-form-render.html","../../../projects/schemas/src/schema-form-render.ts","../../../projects/schemas/src/schema-form-render.module.ts","../../../projects/schemas/src/type-script-compile.ts","../../../projects/schemas/src/apipass-schemas.ts"],"sourcesContent":["import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n template: ''\n})\nexport abstract class BaseSchemaComponent {\n\n @Input() model: any;\n @Input() public schema: any;\n @Output() modelChange: EventEmitter<any> = new EventEmitter<any>();\n\n getSchemaProperties(): any {\n return this.schema.properties instanceof Array ? this.schema.properties : [this.schema.properties];\n }\n\n public canRender(property: any): boolean {\n // tslint:disable-next-line:no-eval\n property.canRender = property?.conditionExpression ? eval(property.conditionExpression) : true;\n return property.canRender;\n }\n\n}\n","export function onDropStruct(event: any, attr: any): any {\n const data = event.data;\n if (!attr) {\n attr = '';\n }\n attr += `{{${data}}}`;\n return attr;\n}\n","<div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ label | translate }}</label>\n <div class=\"subsection-element\" *ngFor=\"let item of model; let index = index; trackBy:trackByIndex;\">\n <div class=\"subsection-item-title\">{{removeLabel | translate}} {{index + 1}}\n <i class=\"far fa-trash-alt\" (click)=\"remove(item)\"></i>\n </div>\n <div class=\"row\" *ngIf=\"item.mappingAttributes || item.mappingAttributes === ''\">\n <div class=\"col-md-8\">\n <label class=\"info-label\">Loop</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.loop\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n <div class=\"col-md-4\">\n <label class=\"info-label\">Alias</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.alias\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"subsectionItem, context: {\n $implicit: {\n items: model, index: index,\n mappingAttributes: (item.mappingAttributes || item.mappingAttributes === '') ? item.mappingAttributes : item\n }\n }\"></ng-container>\n </div>\n </div>\n</div>\n<div class=\"row add-buttons\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-outline-primary float-left btn-personal-edit\" (click)=\"add()\">{{'ADD_ITEM' | translate}}</button>\n <button class=\"btn btn-outline-primary float-left btn-personal-edit ml-2\" *ngIf=\"showAddLoop\" (click)=\"addLoop()\">{{'ADD_LOOP' | translate}}</button>\n </div>\n</div>\n","import {Component, ContentChild, EventEmitter, Input, Output, TemplateRef} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\n\n@Component({\n selector: 'array-session',\n templateUrl: 'array-session.html',\n styleUrls: ['array-session.scss']\n})\nexport class ArraySessionComponent extends BaseSchemaComponent {\n\n @Input() public label = '';\n @Input() public showAddLoop = true;\n @Input() public removeLabel = '';\n\n @Output() public onAdd: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onAddLoop: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChild(TemplateRef, { read: TemplateRef })\n public subsectionItem: TemplateRef<any> | undefined;\n\n public add(): void {\n this.onAdd.next();\n }\n\n public addLoop(): void {\n this.onAddLoop.next();\n }\n\n public remove(item: any): any {\n const values = this.model;\n const index = values.indexOf(item);\n values.splice(index, 1);\n this.model = values;\n }\n\n public trackByIndex(index: number, obj: any): any {\n return index;\n }\n\n}\n","<div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <schema-input [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-input>\n <schema-object [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-object>\n <schema-array [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-array>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\nimport {onDropStruct} from '../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-form',\n templateUrl: 'schema-form.html',\n styleUrls: ['./schema-form.scss']\n})\nexport class SchemaFormComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"row custom-attributes\" *ngFor=\"let attribute of model; let i = index\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{ attribute.label }}</label>\n <span (click)=\"removeCustomAttribute(i)\" class=\"customAttributeDeleteIcon\">\n <i class=\"far fa-trash-alt\" [matTooltip]=\"'REMOVE' | translate\"></i>\n </span>\n\n <input\n class=\"form-control\"\n [(ngModel)]=\"attribute.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDrop($event, attribute)\"\n />\n </div>\n</div>\n<div *ngIf=\"newCustomField\" class=\"struct-custom-field\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.NAME' | translate}}<strong>*</strong></label>\n <input class=\"form-control\" [(ngModel)]=\"newCustomField.label\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.VALUE' | translate}}<strong>*</strong></label>\n <input\n class=\"form-control\"\n [(ngModel)]=\"newCustomField.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDrop($event, newCustomField)\"\n />\n </div>\n </div>\n</div>\n<div class=\"row actions-buttons\">\n <div class=\"col-md-12 pull-right\">\n <button class=\"btn btn-outline-primary float-left\" *ngIf=\"!newCustomField\" (click)=\"newCustomField = {}\">\n {{'ADD' | translate }}\n </button>\n <button\n class=\"btn btn-outline-danger float-left ml-2\"\n *ngIf=\"newCustomField\"\n (click)=\"newCustomField = null\"\n >\n {{'CANCEL' | translate }}\n </button>\n <button\n class=\"btn btn-outline-primary float-left\"\n *ngIf=\"newCustomField && newCustomField.label && newCustomField.value\"\n (click)=\"saveNewAttribute(newCustomField)\"\n >\n {{'SAVE' | translate }}\n </button>\n </div>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\n\n@Component({\n selector: 'schema-custom-attributes',\n templateUrl: 'schema-custom-attributes.html',\n styleUrls: ['./schema-custom-attributes.scss']\n})\nexport class SchemaCustomAttributesComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() onDropFunction: (() => any | undefined) | undefined;\n\n @Output() onSaveAttribute: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDropOnAttribute: EventEmitter<any> = new EventEmitter<any>();\n\n public newCustomField: any;\n\n ngAfterContentInit(): void {\n if (!this.model) {\n this.model = [];\n }\n }\n\n public saveNewAttribute(newCustomField: any): void {\n this.onSaveAttribute.emit(newCustomField);\n this.model.push(newCustomField);\n this.newCustomField = null;\n this.modelChange.emit(this.model);\n }\n\n public removeCustomAttribute(attributeIndex: any): void {\n this.model.splice(attributeIndex, 1);\n this.modelChange.emit(this.model);\n }\n\n public onDrop($event: any, attribute: any): void {\n if (!attribute.value) {\n attribute.value = '';\n }\n attribute.value += `{{${$event.data}}}`;\n }\n\n}\n","<div *ngIf=\"loaded && canRender(schema) && schema.type === 'array' && schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, {})\"\n (onAddLoop)=\"addArrayLoop(schema.id, {})\">\n <ng-template let-item>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop !== undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index].mappingAttributes\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop == undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id][item.index] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id][item.index].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n </ng-template>\n </array-session>\n</div>\n<div *ngIf=\"schema && canRender(schema) && schema.type === 'array' && !schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, '')\"\n (onAddLoop)=\"addArrayLoop(schema.id, '')\"\n >\n <ng-template let-item>\n <label class=\"info-label\" [htmlFor]=\"getId(index)+'-'+item.index\">{{ schema.title | translate }}</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index].mappingAttributes\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index].mappingAttributes = this.onDrop($event, item.items[item.index].mappingAttributes)\"\n *ngIf=\"item.items[item.index].mappingAttributes || item.items[item.index].mappingAttributes === ''; else elseBlock\"\n [id]=\"getId(index)+'-'+item.index\"/>\n <ng-template #elseBlock>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index]\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index] = this.onDrop($event, item.items[item.index])\"\n [id]=\"getId(index)+'-'+item.index\"/>\n </ng-template>\n </ng-template>\n </array-session>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {onDropStruct} from '../../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-array',\n templateUrl: 'schema-array.html',\n styleUrls: ['./schema-array.scss']\n})\nexport class SchemaArrayComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'array' && this.model && !this.model[this.schema.id]) {\n this.model[this.schema.id] = [];\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n addArrayItem(id: any, param: any): void {\n this.model[id] = this.model[id] || [];\n if (this.schema.properties) {\n param = {};\n Object.keys(this.schema.properties).forEach(key => {\n const schemaProperty = this.schema.properties[key];\n if (schemaProperty.type === 'object') {\n param[schemaProperty.id] = {};\n } else if (schemaProperty.type === 'array') {\n param[schemaProperty.id] = [];\n }\n });\n }\n this.model[id].push(param);\n }\n\n addArrayLoop(id: any, mappingAttributes: any): void {\n this.model[id] = this.model[id] || [];\n this.model[id].push({loop: '', alias: '', mappingAttributes});\n }\n\n}\n\n","<div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"info-label bold\" [htmlFor]=\"inputId\">\n {{ label | translate }}\n <small [ngClass]=\"{'has-error':state && !state.valid && state.errors}\" *ngIf=\"required\">(obrigatório)</small>\n <span class=\"info-icon\" matTooltip=\"{{ tooltip | translate }}\" *ngIf=\"tooltip\">\n <i class=\"far fa-question-circle\"></i>\n </span>\n </label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n</div>","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'field-render',\n templateUrl: 'field-render.html',\n styleUrls: ['field-render.scss']\n})\nexport class FieldRenderComponent {\n\n @Input() label = '';\n @Input() inputId: string | undefined;\n @Input() tooltip: string | undefined;\n @Input() required = true;\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\n\n@Component({\n selector: 'number-input',\n templateUrl: 'number-input.component.html'\n})\nexport class NumberInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n public changeValue($event: any): void {\n if ($event && !isNaN($event)) {\n this.model = Number($event);\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control number-input\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n [maxlength]=\"maxLength\">\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\n\n@Component({\n selector: 'boolean-input',\n templateUrl: 'boolean-input.component.html',\n})\nexport class BooleanInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n public changeValue($event: any): void {\n if ($event && ($event === 'true' || $event === 'false')) {\n this.model = $event === 'true';\n this.value = this.model;\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.value = this.model;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n [maxlength]=\"maxLength\">\n","<div class=\"schema-input-container\">\n <input class=\"form-control\" [type]=\"schema.type === 'password' ? 'password' : 'text'\"\n placeholder=\"{{schema.description}}\"\n *ngIf=\"(schema.type === 'string' || schema.type === 'password') && !schema.options\"\n [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\" (ngModelChange)=\"onChange($event)\"\n dndDropzone [id]=\"inputId\" [maxlength]=\"schema.maxLength\"/>\n\n <select-box\n [id]=\"inputId\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event.key)\"\n [ngModelOptions]=\"{standalone: true}\"\n *ngIf=\"schema.type === 'string' && schema.options\"\n [placeholder]=\"schema.description || 'COMPONENTS.SCHEMA.SELECT.PLACEHOLDER' | translate\"\n [searchPlaceHolder]=\"'COMPONENTS.SCHEMA.SELECT.SEARCH' | translate\"\n [clearText]=\"'COMPONENTS.SCHEMA.SELECT.CLEAR' | translate\"\n [notFoundText]=\"'COMPONENTS.SCHEMA.SELECT.NOT_FOUND' | translate\"\n [bindKey]=\"'key'\"\n [bindValue]=\"'value'\"\n [enabledSearch]=\"true\"\n [limitItens]=\"30\"\n [data]=\"schema.options\">\n </select-box>\n\n <number-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'number'\" dndDropzone\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\n (modelChange)=\"onChange($event)\"></number-input>\n\n <boolean-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'boolean'\" dndDropzone\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\n (modelChange)=\"onChange($event)\"></boolean-input>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'input-render',\n templateUrl: 'input-render.html',\n styleUrls: ['./input-render.scss']\n})\nexport class InputRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public schema: any = {};\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n\n value: any;\n\n ngAfterContentInit(): void {\n if (this.schema?.type !== 'object' && this.schema?.type !== 'array') {\n if (!this.editing && this.schema.options) {\n const $event = this.schema.options.filter((item: any) => item.selected === true);\n if ($event[0]) {\n this.onChange($event[0].key);\n this.value = $event[0];\n }\n } else if (this.editing && this.schema.options && this.model) {\n const $event = this.schema.options.filter((item: any) => item.key === this.model);\n if ($event[0]) {\n this.onChange($event[0].key);\n this.value = $event[0];\n }\n } else {\n this.value = this.model;\n }\n }\n }\n\n onChange($event: any): void {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n\n}\n","<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && schema.minLength && schema.minLength > 0\">\n <div class=\"col-md-12\">\n <field-render [label]=\"schema.title\" [tooltip]=\"schema.help\" [inputId]=\"getId(index)\">\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </field-render>\n </div>\n</div>\n<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && (!schema.minLength || schema.minLength === 0)\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\" [htmlFor]=\"getId(index)\">\n {{schema.title}}\n <span class=\"config-tooltip\" matTooltip=\"{{ schema.help | translate }}\" *ngIf=\"schema.help\">?</span>\n </label>\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </div>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\n\n@Component({\n selector: 'schema-input',\n templateUrl: 'schema-input.html',\n styleUrls: ['./schema-input.scss']\n})\nexport class SchemaInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"schema-object-container\" *ngIf=\"loaded && canRender(schema) && schema.type == 'object'\">\n <div class=\"schema-object-title\">{{schema.title}}</div>\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model[schema.id]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from '../../struct.utils';\n\n@Component({\n selector: 'schema-object',\n templateUrl: 'schema-object.html',\n styleUrls: ['./schema-object.scss']\n})\nexport class SchemaObjectComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public idPrefix: string | undefined;\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n @Input() index: number | undefined;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n loaded = false;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'object' && this.model) {\n this.model[this.schema.id] = this.model[this.schema.id] || {};\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n}\n","export type StructFieldType = Array<{\n title?: string,\n id: string,\n description?: string,\n propertyOrder?: number,\n minLength?: number,\n maxLength?: number\n}>;\n\nexport class SchemaValidationField {\n\n emptyFields: StructFieldType;\n invalidMinLengthFields: StructFieldType;\n invalidMaxLengthFields: StructFieldType;\n validationErrorsLabel: string[] | undefined;\n\n constructor(emptyFields: StructFieldType, invalidMinLengthFields: StructFieldType, invalidMaxLengthFields: StructFieldType) {\n this.emptyFields = emptyFields;\n this.invalidMinLengthFields = invalidMinLengthFields;\n this.invalidMaxLengthFields = invalidMaxLengthFields;\n }\n\n isValidSchemaFields(): boolean {\n return this.emptyFields?.length < 1 && this.invalidMinLengthFields?.length < 1 && this.invalidMaxLengthFields?.length < 1;\n }\n\n isInvalidSchemaFields(): boolean {\n return !this.isValidSchemaFields();\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {SchemaValidationField} from './schema-validation-field';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Injectable()\nexport class SchemaFieldsService {\n\n constructor(private translate: TranslateService) {\n }\n\n public async validateSchemaFields(propertiesRendered: Array<any>, model: any): Promise<SchemaValidationField> {\n\n if (!propertiesRendered) {\n return new SchemaValidationField([], [], []);\n }\n\n const emptyFields: any[] = [];\n const invalidMinLengthFields: any[] = [];\n const invalidMaxLengthFields: any[] = [];\n this.processProperties(propertiesRendered, model, emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n\n const structValidationField = new SchemaValidationField(emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n structValidationField.validationErrorsLabel = await this.getErrorsStringArray(structValidationField);\n\n return structValidationField;\n\n }\n\n private processProperties(propertiesRendered: Array<any>,\n model: any, emptyFields: any[],\n invalidMinLengthFields: any[],\n invalidMaxLengthFields: any[],\n recursive?: boolean): void {\n for (const property of propertiesRendered) {\n if ((property.type === 'object' || property.type === 'array') && property.properties) {\n this.processProperties(property.properties, model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else if (property.type === 'array' && !property.properties) {\n const newProperty = {...property};\n newProperty.type = 'string';\n this.processProperties([newProperty], model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else {\n const validateModel = recursive ? model : model[property.id];\n if (property?.canRender && property?.minLength > 0\n && (validateModel === undefined || validateModel === '' || validateModel === null)) {\n emptyFields.push(property);\n } else if (property?.canRender && property?.minLength > 0 && (validateModel?.length < property.minLength)) {\n invalidMinLengthFields.push(property);\n } else if (property?.canRender && property?.maxLength > 0 && (validateModel?.length > property.maxLength)) {\n invalidMaxLengthFields.push(property);\n }\n }\n }\n }\n\n public async getErrorsStringArray(structValidation: SchemaValidationField): Promise<string[]> {\n if (!structValidation.isInvalidSchemaFields()) {\n return [];\n }\n const errors = [];\n for (const field of structValidation.emptyFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.REQUIRED_FIELD_ERROR', {fieldName}));\n }\n for (const field of structValidation.invalidMinLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MINLENGTH_FIELD_ERROR',\n {fieldName, minLength: field.minLength}));\n }\n for (const field of structValidation.invalidMaxLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MAXLENGTH_FIELD_ERROR',\n {fieldName, maxLength: field.maxLength}));\n }\n return errors;\n }\n\n}\n","<div class=\"schema\" *ngIf=\"loaded\">\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schemas]=\"schemas\"\n [editing]=\"this.editing\"></schema-form>\n\n <div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model && customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"model.customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from './base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from './struct.utils';\n\n@Component({\n selector: 'schema-form-render',\n templateUrl: 'schema-form-render.html',\n styleUrls: ['./schema-form-render.scss']\n})\nexport class SchemaFormRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {SchemaArrayComponent} from './schema-form/schema-array/schema-array';\nimport {SchemaInputComponent} from './schema-form/schema-input/schema-input';\nimport {FieldRenderComponent} from './schema-form/schema-input/field-render/field-render';\nimport {SchemaObjectComponent} from './schema-form/schema-object/schema-object';\nimport {ArraySessionComponent} from './schema-form/schema-array/array-session/array-session';\nimport {InputRenderComponent} from './schema-form/schema-input/input-render/input-render';\nimport {SchemaFieldsService} from './schema-fields.service';\nimport {SchemaFormComponent} from './schema-form/schema-form';\nimport {SchemaCustomAttributesComponent} from './schema-custom-attributes/schema-custom-attributes';\nimport {BooleanInputComponent} from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';\nimport {NumberInputComponent} from './schema-form/schema-input/input-render/number-input/number-input.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {SchemaFormRenderComponent} from './schema-form-render';\nimport {InputsModule} from '@apipass/inputs';\n\n@NgModule({\n imports: [\n CommonModule,\n DndModule,\n FormsModule,\n MatTooltipModule,\n TranslateModule,\n InputsModule\n ],\n declarations: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n exports: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n providers: [\n SchemaFieldsService\n ]\n})\nexport class SchemaFormRenderModule {\n}\n","import {FormControl, Validators} from '@angular/forms';\n\nexport class TypeScriptCompile {\n\n private static addItemToFormProperties(formProperties: any, item: any, key: string): void {\n if (item.minLength && item.minLength > 0) {\n formProperties[key] = new FormControl([null, [Validators.required]]);\n } else {\n formProperties[key] = new FormControl([null]);\n }\n }\n\n public static compileProperties(input: any): {\n compiledProperties: any,\n formProperties: any,\n inputData: any\n } {\n const compiledProperties = [];\n const formProperties = {};\n let inputData: any = {};\n const inputToCompile = JSON.parse(JSON.stringify(input));\n if (inputToCompile.properties) {\n if (inputToCompile.type === 'array') {\n inputData = [];\n }\n if (inputToCompile.type === 'object') {\n inputData = {};\n }\n inputToCompile.id = 'inputData';\n this.proccessProperties(inputToCompile, formProperties, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (inputToCompile.type === 'array') {\n inputToCompile.id = 'inputData';\n inputData = [];\n TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (!inputToCompile.type) {\n for (let index = 0; index < Object.keys(inputToCompile).length; index++) {\n const key = Object.keys(inputToCompile)[index];\n const item = inputToCompile[key];\n item.id = key;\n\n if (item.type === 'array') {\n inputData[item.id] = [];\n }\n\n if (item.type === 'object') {\n inputData[item.id] = {};\n }\n this.proccessProperties(item, formProperties, key);\n compiledProperties.push(item);\n }\n }\n\n compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);\n return {compiledProperties, formProperties, inputData};\n }\n\n private static proccessProperties(item: any, formProperties: {}, key: any): void {\n if (this.hasProperties(item)) {\n const arFieldsChild = [];\n for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {\n const keyChild = Object.keys(item.properties)[indexChild];\n const itemChild = item.properties[keyChild];\n itemChild.id = keyChild;\n if (this.hasProperties(itemChild)) {\n this.proccessProperties(itemChild, formProperties, keyChild);\n arFieldsChild.push(itemChild);\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);\n arFieldsChild.push(itemChild);\n }\n }\n item.properties = arFieldsChild;\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, item, key);\n }\n }\n\n private static hasProperties(item: any): any {\n return item.type === 'object' || (item.type === 'array' && item.properties);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵlistener","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵelementContainer","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","i0.ɵɵelement","i0.ɵɵtextInterpolate1","i0.ɵɵpropertyInterpolate","i0.ɵɵprojection"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"apipass-schemas.js","sources":["../../../projects/schemas/src/base-schema.component.ts","../../../projects/schemas/src/struct.utils.ts","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.html","../../../projects/schemas/src/schema-form/schema-array/array-session/array-session.ts","../../../projects/schemas/src/schema-form/schema-form.html","../../../projects/schemas/src/schema-form/schema-form.ts","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.html","../../../projects/schemas/src/schema-custom-attributes/schema-custom-attributes.ts","../../../projects/schemas/src/schema-form/schema-array/schema-array.html","../../../projects/schemas/src/schema-form/schema-array/schema-array.ts","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.html","../../../projects/schemas/src/schema-form/schema-input/field-render/field-render.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/number-input/number-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.ts","../../../projects/schemas/src/schema-form/schema-input/input-render/boolean-input/boolean-input.component.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.html","../../../projects/schemas/src/schema-form/schema-input/input-render/input-render.ts","../../../projects/schemas/src/schema-form/schema-input/schema-input.html","../../../projects/schemas/src/schema-form/schema-input/schema-input.ts","../../../projects/schemas/src/schema-form/schema-object/schema-object.html","../../../projects/schemas/src/schema-form/schema-object/schema-object.ts","../../../projects/schemas/src/schema-validation-field.ts","../../../projects/schemas/src/schema-fields.service.ts","../../../projects/schemas/src/schema-form-render.html","../../../projects/schemas/src/schema-form-render.ts","../../../projects/schemas/src/schema-form-render.module.ts","../../../projects/schemas/src/type-script-compile.ts","../../../projects/schemas/src/apipass-schemas.ts"],"sourcesContent":["import {Component, EventEmitter, Input, Output} from '@angular/core';\n\n@Component({\n template: ''\n})\nexport abstract class BaseSchemaComponent {\n\n @Input() model: any;\n @Input() public schema: any;\n @Output() modelChange: EventEmitter<any> = new EventEmitter<any>();\n\n getSchemaProperties(): any {\n return this.schema.properties instanceof Array ? this.schema.properties : [this.schema.properties];\n }\n\n public canRender(property: any): boolean {\n // tslint:disable-next-line:no-eval\n property.canRender = property?.conditionExpression ? eval(property.conditionExpression) : true;\n return property.canRender;\n }\n\n public onDrop(event: any, attr: any): string {\n const data = event.data;\n if (!attr) {\n attr = '';\n }\n attr += `{{${data}}}`;\n return attr;\n }\n\n}\n","export function onDropStruct(event: any, attr: any): any {\n const data = event.data;\n if (!attr) {\n attr = '';\n }\n attr += `{{${data}}}`;\n return attr;\n}\n","<div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ label | translate }}</label>\n <div class=\"subsection-element\" *ngFor=\"let item of model; let index = index; trackBy:trackByIndex;\">\n <div class=\"subsection-item-title\">{{removeLabel | translate}} {{index + 1}}\n <i class=\"far fa-trash-alt\" (click)=\"remove(item)\"></i>\n </div>\n <div class=\"row\" *ngIf=\"item.mappingAttributes || item.mappingAttributes === ''\">\n <div class=\"col-md-8\">\n <label class=\"info-label\">Loop</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.loop\" [ngModelOptions]=\"{standalone: true}\"\n dndDropzone (dndDrop)=\"item.loop = this.onDrop($event, item.loop)\" />\n </div>\n <div class=\"col-md-4\">\n <label class=\"info-label\">Alias</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.alias\" [ngModelOptions]=\"{standalone: true}\"\n dndDropzone (dndDrop)=\"item.alias = this.onDrop($event, item.alias)\" />\n </div>\n </div>\n <ng-container *ngTemplateOutlet=\"subsectionItem, context: {\n $implicit: {\n items: model, index: index,\n mappingAttributes: (item.mappingAttributes || item.mappingAttributes === '') ? item.mappingAttributes : item\n }\n }\"></ng-container>\n </div>\n </div>\n</div>\n<div class=\"row add-buttons\">\n <div class=\"col-md-12\">\n <button class=\"btn btn-outline-primary float-left btn-personal-edit\" (click)=\"add()\">{{'ADD_ITEM' | translate}}</button>\n <button class=\"btn btn-outline-primary float-left btn-personal-edit ml-2\" *ngIf=\"showAddLoop\" (click)=\"addLoop()\">{{'ADD_LOOP' | translate}}</button>\n </div>\n</div>\n","import {Component, ContentChild, EventEmitter, Input, Output, TemplateRef} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\n\n@Component({\n selector: 'array-session',\n templateUrl: 'array-session.html',\n styleUrls: ['array-session.scss']\n})\nexport class ArraySessionComponent extends BaseSchemaComponent {\n\n @Input() public label = '';\n @Input() public showAddLoop = true;\n @Input() public removeLabel = '';\n\n @Output() public onAdd: EventEmitter<any> = new EventEmitter<any>();\n @Output() public onAddLoop: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChild(TemplateRef, { read: TemplateRef })\n public subsectionItem: TemplateRef<any> | undefined;\n\n public add(): void {\n this.onAdd.next();\n }\n\n public addLoop(): void {\n this.onAddLoop.next();\n }\n\n public remove(item: any): any {\n const values = this.model;\n const index = values.indexOf(item);\n values.splice(index, 1);\n this.model = values;\n }\n\n public trackByIndex(index: number, obj: any): any {\n return index;\n }\n\n}\n","<div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <schema-input [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-input>\n <schema-object [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-object>\n <schema-array [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schema]=\"schema\"\n [editing]=\"this.editing\"\n [index]=\"i\">\n </schema-array>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\nimport {onDropStruct} from '../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-form',\n templateUrl: 'schema-form.html',\n styleUrls: ['./schema-form.scss']\n})\nexport class SchemaFormComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"row custom-attributes\" *ngFor=\"let attribute of model; let i = index\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{ attribute.label }}</label>\n <span (click)=\"removeCustomAttribute(i)\" class=\"customAttributeDeleteIcon\">\n <i class=\"far fa-trash-alt\" [matTooltip]=\"'REMOVE' | translate\"></i>\n </span>\n\n <input\n class=\"form-control\"\n [(ngModel)]=\"attribute.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDropAttr($event, attribute)\"\n />\n </div>\n</div>\n<div *ngIf=\"newCustomField\" class=\"struct-custom-field\">\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.NAME' | translate}}<strong>*</strong></label>\n <input class=\"form-control\" [(ngModel)]=\"newCustomField.label\" [ngModelOptions]=\"{standalone: true}\"/>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-md-12\">\n <label class=\"info-label\">{{'STEP.VALUE' | translate}}<strong>*</strong></label>\n <input\n class=\"form-control\"\n [(ngModel)]=\"newCustomField.value\"\n [ngModelOptions]=\"{standalone: true}\"\n dndDropzone\n (dndDrop)=\"onDropAttr($event, newCustomField)\"\n />\n </div>\n </div>\n</div>\n<div class=\"row actions-buttons\">\n <div class=\"col-md-12 pull-right\">\n <button class=\"btn btn-outline-primary float-left\" *ngIf=\"!newCustomField\" (click)=\"newCustomField = {}\">\n {{'ADD' | translate }}\n </button>\n <button\n class=\"btn btn-outline-danger float-left ml-2\"\n *ngIf=\"newCustomField\"\n (click)=\"newCustomField = null\"\n >\n {{'CANCEL' | translate }}\n </button>\n <button\n class=\"btn btn-outline-primary float-left\"\n *ngIf=\"newCustomField && newCustomField.label && newCustomField.value\"\n (click)=\"saveNewAttribute(newCustomField)\"\n >\n {{'SAVE' | translate }}\n </button>\n </div>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../base-schema.component';\n\n@Component({\n selector: 'schema-custom-attributes',\n templateUrl: 'schema-custom-attributes.html',\n styleUrls: ['./schema-custom-attributes.scss']\n})\nexport class SchemaCustomAttributesComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() onDropFunction: (() => any | undefined) | undefined;\n\n @Output() onSaveAttribute: EventEmitter<any> = new EventEmitter<any>();\n @Output() onDropOnAttribute: EventEmitter<any> = new EventEmitter<any>();\n\n public newCustomField: any;\n\n ngAfterContentInit(): void {\n if (!this.model) {\n this.model = [];\n }\n }\n\n public saveNewAttribute(newCustomField: any): void {\n this.onSaveAttribute.emit(newCustomField);\n this.model.push(newCustomField);\n this.newCustomField = null;\n this.modelChange.emit(this.model);\n }\n\n public removeCustomAttribute(attributeIndex: any): void {\n this.model.splice(attributeIndex, 1);\n this.modelChange.emit(this.model);\n }\n\n public onDropAttr($event: any, attribute: any): void {\n if (!attribute.value) {\n attribute.value = '';\n }\n attribute.value += `{{${$event.data}}}`;\n }\n\n}\n","<div *ngIf=\"loaded && canRender(schema) && schema.type === 'array' && schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, {})\"\n (onAddLoop)=\"addArrayLoop(schema.id, {})\">\n <ng-template let-item>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop !== undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index].mappingAttributes\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n <schema-form *ngIf=\"this.model[schema.id][item.index].loop == undefined\" [idPrefix]=\"idPrefix\"\n [(model)]=\"this.model[schema.id][item.index]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id][item.index] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id][item.index].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n </ng-template>\n </array-session>\n</div>\n<div *ngIf=\"schema && canRender(schema) && schema.type === 'array' && !schema.properties\">\n <array-session\n [label]=\"schema.title\"\n [removeLabel]=\"schema.title\"\n [(model)]=\"this.model[schema.id]\"\n [showAddLoop]=\"schema.withoutLoop !== true\"\n (onAdd)=\"addArrayItem(schema.id, '')\"\n (onAddLoop)=\"addArrayLoop(schema.id, '')\"\n >\n <ng-template let-item>\n <label class=\"info-label\" [htmlFor]=\"getId(index)+'-'+item.index\">{{ schema.title | translate }}</label>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index].mappingAttributes\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index].mappingAttributes = this.onDrop($event, item.items[item.index].mappingAttributes)\"\n *ngIf=\"item.items[item.index].mappingAttributes || item.items[item.index].mappingAttributes === ''; else elseBlock\"\n [id]=\"getId(index)+'-'+item.index\"/>\n <ng-template #elseBlock>\n <input class=\"form-control\" type=\"text\" [(ngModel)]=\"item.items[item.index]\"\n [ngModelOptions]=\"{standalone: true}\" dndDropzone\n (dndDrop)=\"item.items[item.index] = this.onDrop($event, item.items[item.index])\"\n [id]=\"getId(index)+'-'+item.index\"/>\n </ng-template>\n </ng-template>\n </array-session>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {onDropStruct} from '../../struct.utils';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'schema-array',\n templateUrl: 'schema-array.html',\n styleUrls: ['./schema-array.scss']\n})\nexport class SchemaArrayComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'array' && this.model && !this.model[this.schema.id]) {\n this.model[this.schema.id] = [];\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n addArrayItem(id: any, param: any): void {\n this.model[id] = this.model[id] || [];\n if (this.schema.properties) {\n param = {};\n Object.keys(this.schema.properties).forEach(key => {\n const schemaProperty = this.schema.properties[key];\n if (schemaProperty.type === 'object') {\n param[schemaProperty.id] = {};\n } else if (schemaProperty.type === 'array') {\n param[schemaProperty.id] = [];\n }\n });\n }\n this.model[id].push(param);\n }\n\n addArrayLoop(id: any, mappingAttributes: any): void {\n this.model[id] = this.model[id] || [];\n this.model[id].push({loop: '', alias: '', mappingAttributes});\n }\n\n}\n\n","<div [ngClass]=\"{'has-error':state && !state.valid && (!state.pristine || state.touched) && state.errors}\">\n <label class=\"info-label bold\" [htmlFor]=\"inputId\">\n {{ label | translate }}\n <small [ngClass]=\"{'has-error':state && !state.valid && state.errors}\" *ngIf=\"required\">(obrigatório)</small>\n <span class=\"info-icon\" matTooltip=\"{{ tooltip | translate }}\" *ngIf=\"tooltip\">\n <i class=\"far fa-question-circle\"></i>\n </span>\n </label>\n\n <!-- Input, textarea or select -->\n <ng-content></ng-content>\n</div>","import {Component, Input} from '@angular/core';\nimport {FormControl} from '@angular/forms';\n\n@Component({\n selector: 'field-render',\n templateUrl: 'field-render.html',\n styleUrls: ['field-render.scss']\n})\nexport class FieldRenderComponent {\n\n @Input() label = '';\n @Input() inputId: string | undefined;\n @Input() tooltip: string | undefined;\n @Input() required = true;\n\n /**\n * Estado do input no formulário para validar quando\n * é necessário exibir as mensagens de erro.\n */\n @Input() state: FormControl | undefined;\n\n}\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'number-input',\n templateUrl: 'number-input.component.html'\n})\nexport class NumberInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n onDropCallBack($event: DndDropEvent, value: any): void {\n this.value = value = super.onDrop($event, value);\n this.changeValue(value);\n }\n\n public changeValue($event: any): void {\n if ($event && !isNaN($event)) {\n this.model = Number($event);\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control number-input\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\"\n [maxlength]=\"maxLength\">\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'boolean-input',\n templateUrl: 'boolean-input.component.html',\n})\nexport class BooleanInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() placeholder: string | undefined;\n @Input() inputId: string | undefined;\n @Input() maxLength: any;\n\n value: string | undefined;\n\n ngAfterContentInit(): void {\n this.value = this.model;\n }\n\n onDropCallBack($event: DndDropEvent, value: any): void {\n this.value = value = super.onDrop($event, value);\n this.changeValue(value);\n }\n\n public changeValue($event: any): void {\n if ($event && ($event === 'true' || $event === 'false')) {\n this.model = $event === 'true';\n this.value = this.model;\n this.modelChange.emit(this.model);\n } else {\n this.model = $event;\n this.value = this.model;\n this.modelChange.emit(this.model);\n }\n }\n\n}\n","<input class=\"form-control\"\n [id]=\"inputId\"\n [placeholder]=\"placeholder\"\n [(ngModel)]=\"value\"\n [ngModelOptions]=\"{standalone: true}\"\n (ngModelChange)=\"changeValue($event)\"\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\"\n [maxlength]=\"maxLength\">\n","<div class=\"schema-input-container\">\n <input class=\"form-control\" [type]=\"schema.type === 'password' ? 'password' : 'text'\"\n placeholder=\"{{schema.description}}\"\n *ngIf=\"(schema.type === 'string' || schema.type === 'password') && !schema.options\"\n [(ngModel)]=\"value\" [ngModelOptions]=\"{standalone: true}\" (ngModelChange)=\"onChange($event)\"\n dndDropzone (dndDrop)=\"onDropCallBack($event, value)\" [id]=\"inputId\" [maxlength]=\"schema.maxLength\"/>\n\n <select-box\n [id]=\"inputId\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onChange($event.key)\"\n [ngModelOptions]=\"{standalone: true}\"\n *ngIf=\"schema.type === 'string' && schema.options\"\n [placeholder]=\"schema.description || 'COMPONENTS.SCHEMA.SELECT.PLACEHOLDER' | translate\"\n [searchPlaceHolder]=\"'COMPONENTS.SCHEMA.SELECT.SEARCH' | translate\"\n [clearText]=\"'COMPONENTS.SCHEMA.SELECT.CLEAR' | translate\"\n [notFoundText]=\"'COMPONENTS.SCHEMA.SELECT.NOT_FOUND' | translate\"\n [bindKey]=\"'key'\"\n [bindValue]=\"'value'\"\n [enabledSearch]=\"true\"\n [limitItens]=\"30\"\n [data]=\"schema.options\">\n </select-box>\n\n <number-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'number'\"\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\n (modelChange)=\"onChange($event)\"></number-input>\n\n <boolean-input [(model)]=\"value\" [inputId]=\"inputId\"\n *ngIf=\"schema.type === 'boolean'\"\n [placeholder]=\"schema.description\" [maxLength]=\"schema.maxLength\"\n (modelChange)=\"onChange($event)\"></boolean-input>\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\n\n@Component({\n selector: 'input-render',\n templateUrl: 'input-render.html',\n styleUrls: ['./input-render.scss']\n})\nexport class InputRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public schema: any = {};\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n\n value: any;\n\n ngAfterContentInit(): void {\n if (this.schema?.type !== 'object' && this.schema?.type !== 'array') {\n if (!this.editing && this.schema.options) {\n const $event = this.schema.options.filter((item: any) => item.selected === true);\n if ($event[0]) {\n this.onChange($event[0].key);\n this.value = $event[0];\n }\n } else if (this.editing && this.schema.options && this.model) {\n const $event = this.schema.options.filter((item: any) => item.key === this.model);\n if ($event[0]) {\n this.onChange($event[0].key);\n this.value = $event[0];\n }\n } else {\n this.value = this.model;\n }\n }\n }\n\n onDropCallBack($event: DndDropEvent, value: any): void {\n this.value = value = super.onDrop($event, value);\n this.onChange(value);\n }\n\n onChange($event: any): void {\n this.model = $event;\n this.modelChange.emit(this.model);\n }\n\n}\n","<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && schema.minLength && schema.minLength > 0\">\n <div class=\"col-md-12\">\n <field-render [label]=\"schema.title\" [tooltip]=\"schema.help\" [inputId]=\"getId(index)\">\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </field-render>\n </div>\n</div>\n<div class=\"row schema-input\"\n *ngIf=\"loaded && canRender(schema) && schema.type !== 'array' && schema.type !== 'object' && (!schema.minLength || schema.minLength === 0)\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\" [htmlFor]=\"getId(index)\">\n {{schema.title}}\n <span class=\"config-tooltip\" matTooltip=\"{{ schema.help | translate }}\" *ngIf=\"schema.help\">?</span>\n </label>\n <input-render [inputId]=\"getId(index)\" [schema]=\"schema\" [(model)]=\"this.model[schema.id]\"\n [modelPropertiesPath]=\"'mappingAttributes.' + schema.id\"\n [editing]=\"this.editing\"></input-render>\n </div>\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\n\n@Component({\n selector: 'schema-input',\n templateUrl: 'schema-input.html',\n styleUrls: ['./schema-input.scss']\n})\nexport class SchemaInputComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schema: any;\n @Input() editing = false;\n @Input() index: number | undefined;\n\n loaded: boolean | undefined;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n getId(index: any): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","<div class=\"schema-object-container\" *ngIf=\"loaded && canRender(schema) && schema.type == 'object'\">\n <div class=\"schema-object-title\">{{schema.title}}</div>\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model[schema.id]\"\n [schemas]=\"getSchemaProperties()\"\n [editing]=\"this.editing\">\n </schema-form>\n\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model[schema.id] && schema.customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"this.model[schema.id].customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, EventEmitter, Input, Output} from '@angular/core';\nimport {BaseSchemaComponent} from '../../base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from '../../struct.utils';\n\n@Component({\n selector: 'schema-object',\n templateUrl: 'schema-object.html',\n styleUrls: ['./schema-object.scss']\n})\nexport class SchemaObjectComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() public idPrefix: string | undefined;\n @Input() public modelPropertiesPath: string | undefined;\n @Input() public inputId: string | undefined;\n @Input() public editing = false;\n @Input() index: number | undefined;\n\n @Output() public onDropEvent = new EventEmitter<{ $event: DndDropEvent, modelElement: any }>();\n loaded = false;\n\n ngAfterContentInit(): void {\n if (this.schema?.type === 'object' && this.model) {\n this.model[this.schema.id] = this.model[this.schema.id] || {};\n }\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n}\n","export type StructFieldType = Array<{\n title?: string,\n id: string,\n description?: string,\n propertyOrder?: number,\n minLength?: number,\n maxLength?: number\n}>;\n\nexport class SchemaValidationField {\n\n emptyFields: StructFieldType;\n invalidMinLengthFields: StructFieldType;\n invalidMaxLengthFields: StructFieldType;\n validationErrorsLabel: string[] | undefined;\n\n constructor(emptyFields: StructFieldType, invalidMinLengthFields: StructFieldType, invalidMaxLengthFields: StructFieldType) {\n this.emptyFields = emptyFields;\n this.invalidMinLengthFields = invalidMinLengthFields;\n this.invalidMaxLengthFields = invalidMaxLengthFields;\n }\n\n isValidSchemaFields(): boolean {\n return this.emptyFields?.length < 1 && this.invalidMinLengthFields?.length < 1 && this.invalidMaxLengthFields?.length < 1;\n }\n\n isInvalidSchemaFields(): boolean {\n return !this.isValidSchemaFields();\n }\n\n}\n","import {Injectable} from '@angular/core';\nimport {SchemaValidationField} from './schema-validation-field';\nimport {TranslateService} from '@ngx-translate/core';\n\n@Injectable()\nexport class SchemaFieldsService {\n\n constructor(private translate: TranslateService) {\n }\n\n public async validateSchemaFields(propertiesRendered: Array<any>, model: any): Promise<SchemaValidationField> {\n\n if (!propertiesRendered) {\n return new SchemaValidationField([], [], []);\n }\n\n const emptyFields: any[] = [];\n const invalidMinLengthFields: any[] = [];\n const invalidMaxLengthFields: any[] = [];\n this.processProperties(propertiesRendered, model, emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n\n const structValidationField = new SchemaValidationField(emptyFields, invalidMinLengthFields, invalidMaxLengthFields);\n structValidationField.validationErrorsLabel = await this.getErrorsStringArray(structValidationField);\n\n return structValidationField;\n\n }\n\n private processProperties(propertiesRendered: Array<any>,\n model: any, emptyFields: any[],\n invalidMinLengthFields: any[],\n invalidMaxLengthFields: any[],\n recursive?: boolean): void {\n for (const property of propertiesRendered) {\n if ((property.type === 'object' || property.type === 'array') && property.properties) {\n this.processProperties(property.properties, model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else if (property.type === 'array' && !property.properties) {\n const newProperty = {...property};\n newProperty.type = 'string';\n this.processProperties([newProperty], model[property.id], emptyFields, invalidMinLengthFields, invalidMaxLengthFields, true);\n } else {\n const validateModel = recursive ? model : model[property.id];\n if (property?.canRender && property?.minLength > 0\n && (validateModel === undefined || validateModel === '' || validateModel === null)) {\n emptyFields.push(property);\n } else if (property?.canRender && property?.minLength > 0 && (validateModel?.length < property.minLength)) {\n invalidMinLengthFields.push(property);\n } else if (property?.canRender && property?.maxLength > 0 && (validateModel?.length > property.maxLength)) {\n invalidMaxLengthFields.push(property);\n }\n }\n }\n }\n\n public async getErrorsStringArray(structValidation: SchemaValidationField): Promise<string[]> {\n if (!structValidation.isInvalidSchemaFields()) {\n return [];\n }\n const errors = [];\n for (const field of structValidation.emptyFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.REQUIRED_FIELD_ERROR', {fieldName}));\n }\n for (const field of structValidation.invalidMinLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MINLENGTH_FIELD_ERROR',\n {fieldName, minLength: field.minLength}));\n }\n for (const field of structValidation.invalidMaxLengthFields) {\n const fieldName = field.title || field.id;\n errors.push(this.translate.instant('COMPONENTS.STRUCT.VALIDATION_FIELDS.MAXLENGTH_FIELD_ERROR',\n {fieldName, maxLength: field.maxLength}));\n }\n return errors;\n }\n\n}\n","<div class=\"schema\" *ngIf=\"loaded\">\n <schema-form [idPrefix]=\"idPrefix\"\n [(model)]=\"model\"\n [schemas]=\"schemas\"\n [editing]=\"this.editing\"></schema-form>\n\n <div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model && customProperties\">\n <div class=\"col-md-12\">\n <label class=\"info-label bold\">{{ 'STEP.ADDITIONAL_ATTRIBUTES' | translate }}</label>\n <schema-custom-attributes [(model)]=\"model.customAttributes\" [onDropFunction]=\"onDrop\">\n </schema-custom-attributes>\n </div>\n </div>\n </div>\n\n</div>\n","import {AfterContentInit, Component, Input} from '@angular/core';\nimport {BaseSchemaComponent} from './base-schema.component';\nimport {DndDropEvent} from 'ngx-drag-drop';\nimport {onDropStruct} from './struct.utils';\n\n@Component({\n selector: 'schema-form-render',\n templateUrl: 'schema-form-render.html',\n styleUrls: ['./schema-form-render.scss']\n})\nexport class SchemaFormRenderComponent extends BaseSchemaComponent implements AfterContentInit {\n\n @Input() idPrefix: string | undefined;\n @Input() schemas = [];\n @Input() customProperties = false;\n @Input() editing = false;\n @Input() inputType: string | undefined;\n\n loaded = false;\n\n ngAfterContentInit(): void {\n this.loaded = true;\n }\n\n onDrop($event: DndDropEvent, modelElement: any): any {\n return onDropStruct($event, modelElement);\n }\n\n getId(index: number): string {\n return `${this.idPrefix}-struct-${index}`;\n }\n\n}\n\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {FormsModule} from '@angular/forms';\nimport {TranslateModule} from '@ngx-translate/core';\nimport {SchemaArrayComponent} from './schema-form/schema-array/schema-array';\nimport {SchemaInputComponent} from './schema-form/schema-input/schema-input';\nimport {FieldRenderComponent} from './schema-form/schema-input/field-render/field-render';\nimport {SchemaObjectComponent} from './schema-form/schema-object/schema-object';\nimport {ArraySessionComponent} from './schema-form/schema-array/array-session/array-session';\nimport {InputRenderComponent} from './schema-form/schema-input/input-render/input-render';\nimport {SchemaFieldsService} from './schema-fields.service';\nimport {SchemaFormComponent} from './schema-form/schema-form';\nimport {SchemaCustomAttributesComponent} from './schema-custom-attributes/schema-custom-attributes';\nimport {BooleanInputComponent} from './schema-form/schema-input/input-render/boolean-input/boolean-input.component';\nimport {NumberInputComponent} from './schema-form/schema-input/input-render/number-input/number-input.component';\nimport {DndModule} from 'ngx-drag-drop';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {SchemaFormRenderComponent} from './schema-form-render';\nimport {InputsModule} from '@apipass/inputs';\n\n@NgModule({\n imports: [\n CommonModule,\n DndModule,\n FormsModule,\n MatTooltipModule,\n TranslateModule,\n InputsModule\n ],\n declarations: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n exports: [\n ArraySessionComponent,\n SchemaArrayComponent,\n FieldRenderComponent,\n InputRenderComponent,\n BooleanInputComponent,\n NumberInputComponent,\n SchemaInputComponent,\n SchemaObjectComponent,\n SchemaFormRenderComponent,\n SchemaFormComponent,\n SchemaCustomAttributesComponent\n ],\n providers: [\n SchemaFieldsService\n ]\n})\nexport class SchemaFormRenderModule {\n}\n","import {FormControl, Validators} from '@angular/forms';\n\nexport class TypeScriptCompile {\n\n private static addItemToFormProperties(formProperties: any, item: any, key: string): void {\n if (item.minLength && item.minLength > 0) {\n formProperties[key] = new FormControl([null, [Validators.required]]);\n } else {\n formProperties[key] = new FormControl([null]);\n }\n }\n\n public static compileProperties(input: any): {\n compiledProperties: any,\n formProperties: any,\n inputData: any\n } {\n const compiledProperties = [];\n const formProperties = {};\n let inputData: any = {};\n const inputToCompile = JSON.parse(JSON.stringify(input));\n if (inputToCompile.properties) {\n if (inputToCompile.type === 'array') {\n inputData = [];\n }\n if (inputToCompile.type === 'object') {\n inputData = {};\n }\n inputToCompile.id = 'inputData';\n this.proccessProperties(inputToCompile, formProperties, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (inputToCompile.type === 'array') {\n inputToCompile.id = 'inputData';\n inputData = [];\n TypeScriptCompile.addItemToFormProperties(formProperties, inputToCompile, 'inputData');\n compiledProperties.push(inputToCompile);\n } else if (!inputToCompile.type) {\n for (let index = 0; index < Object.keys(inputToCompile).length; index++) {\n const key = Object.keys(inputToCompile)[index];\n const item = inputToCompile[key];\n item.id = key;\n\n if (item.type === 'array') {\n inputData[item.id] = [];\n }\n\n if (item.type === 'object') {\n inputData[item.id] = {};\n }\n this.proccessProperties(item, formProperties, key);\n compiledProperties.push(item);\n }\n }\n\n compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);\n return {compiledProperties, formProperties, inputData};\n }\n\n private static proccessProperties(item: any, formProperties: {}, key: any): void {\n if (this.hasProperties(item)) {\n const arFieldsChild = [];\n for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {\n const keyChild = Object.keys(item.properties)[indexChild];\n const itemChild = item.properties[keyChild];\n itemChild.id = keyChild;\n if (this.hasProperties(itemChild)) {\n this.proccessProperties(itemChild, formProperties, keyChild);\n arFieldsChild.push(itemChild);\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, itemChild, keyChild);\n arFieldsChild.push(itemChild);\n }\n }\n item.properties = arFieldsChild;\n } else {\n TypeScriptCompile.addItemToFormProperties(formProperties, item, key);\n }\n }\n\n private static hasProperties(item: any): any {\n return item.type === 'object' || (item.type === 'array' && item.properties);\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i0.ɵɵelementStart","i0.ɵɵtext","i0.ɵɵelementEnd","i0.ɵɵlistener","i0.ɵɵadvance","i0.ɵɵproperty","i0.ɵɵelementContainer","i0.ɵɵtemplate","i0.ɵɵtextInterpolate2","i0.ɵɵtextInterpolate","i0.ɵɵelement","i0.ɵɵtextInterpolate1","i0.ɵɵpropertyInterpolate","i0.ɵɵprojection"],"mappings":"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"}
|