@apipass/schemas 1.0.7 → 1.0.8
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/base-schema.component.d.ts +12 -12
- package/{esm2020 → esm2022}/apipass-schemas.mjs +4 -4
- package/esm2022/base-schema.component.mjs +38 -0
- package/{esm2020 → esm2022}/public-api.mjs +16 -16
- package/{esm2020 → esm2022}/schema-custom-attributes/schema-custom-attributes.mjs +169 -169
- package/esm2022/schema-fields.service.mjs +81 -0
- package/esm2022/schema-form/schema-array/array-session/array-session.mjs +141 -0
- package/{esm2020 → esm2022}/schema-form/schema-array/schema-array.mjs +219 -220
- package/esm2022/schema-form/schema-form.mjs +107 -0
- package/esm2022/schema-form/schema-input/field-render/field-render.mjs +76 -0
- package/esm2022/schema-form/schema-input/input-render/boolean-input/boolean-input.component.mjs +51 -0
- package/esm2022/schema-form/schema-input/input-render/input-render.mjs +193 -0
- package/esm2022/schema-form/schema-input/input-render/number-input/number-input.component.mjs +49 -0
- package/esm2022/schema-form/schema-input/schema-input.mjs +95 -0
- package/esm2022/schema-form/schema-object/schema-object.mjs +125 -0
- package/esm2022/schema-form-render.mjs +126 -0
- package/{esm2020 → esm2022}/schema-form-render.module.mjs +109 -108
- package/esm2022/schema-validation-field.mjs +18 -0
- package/{esm2020 → esm2022}/struct.utils.mjs +8 -8
- package/esm2022/type-script-compile/type-script-compile.base.mjs +115 -0
- package/{fesm2020 → fesm2022}/apipass-schemas.mjs +1571 -1563
- package/fesm2022/apipass-schemas.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/package.json +15 -21
- package/public-api.d.ts +16 -16
- package/schema-custom-attributes/schema-custom-attributes.d.ts +21 -21
- package/schema-fields.service.d.ts +14 -14
- package/schema-form/schema-array/array-session/array-session.d.ts +19 -19
- package/schema-form/schema-array/schema-array.d.ts +31 -32
- package/schema-form/schema-form.d.ts +31 -31
- package/schema-form/schema-input/field-render/field-render.d.ts +16 -16
- package/schema-form/schema-input/input-render/boolean-input/boolean-input.component.d.ts +15 -15
- package/schema-form/schema-input/input-render/input-render.d.ts +29 -29
- package/schema-form/schema-input/input-render/number-input/number-input.component.d.ts +15 -15
- package/schema-form/schema-input/schema-input.d.ts +18 -19
- package/schema-form/schema-object/schema-object.d.ts +34 -34
- package/schema-form-render.d.ts +31 -31
- package/schema-form-render.module.d.ts +23 -23
- package/schema-validation-field.d.ts +23 -23
- package/struct.utils.d.ts +1 -1
- package/type-script-compile/type-script-compile.base.d.ts +17 -17
- package/esm2020/base-schema.component.mjs +0 -37
- package/esm2020/schema-fields.service.mjs +0 -80
- package/esm2020/schema-form/schema-array/array-session/array-session.mjs +0 -143
- package/esm2020/schema-form/schema-form.mjs +0 -107
- package/esm2020/schema-form/schema-input/field-render/field-render.mjs +0 -69
- package/esm2020/schema-form/schema-input/input-render/boolean-input/boolean-input.component.mjs +0 -46
- package/esm2020/schema-form/schema-input/input-render/input-render.mjs +0 -192
- package/esm2020/schema-form/schema-input/input-render/number-input/number-input.component.mjs +0 -44
- package/esm2020/schema-form/schema-input/schema-input.mjs +0 -96
- package/esm2020/schema-form/schema-object/schema-object.mjs +0 -123
- package/esm2020/schema-form-render.mjs +0 -126
- package/esm2020/schema-validation-field.mjs +0 -14
- package/esm2020/type-script-compile/type-script-compile.base.mjs +0 -114
- package/fesm2015/apipass-schemas.mjs +0 -1801
- package/fesm2015/apipass-schemas.mjs.map +0 -1
- package/fesm2020/apipass-schemas.mjs.map +0 -1
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { Component, Input } from '@angular/core';
|
|
2
|
-
import { BaseSchemaComponent } from './base-schema.component';
|
|
3
|
-
import { onDropStruct } from './struct.utils';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/common";
|
|
6
|
-
import * as i2 from "./schema-form/schema-form";
|
|
7
|
-
import * as i3 from "./schema-custom-attributes/schema-custom-attributes";
|
|
8
|
-
function SchemaFormRenderComponent_div_0_div_2_div_1_Template(rf, ctx) { if (rf & 1) {
|
|
9
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
|
10
|
-
i0.ɵɵelementStart(0, "div", 6)(1, "div", 7)(2, "label", 8);
|
|
11
|
-
i0.ɵɵtext(3);
|
|
12
|
-
i0.ɵɵelementEnd();
|
|
13
|
-
i0.ɵɵelementStart(4, "schema-custom-attributes", 9);
|
|
14
|
-
i0.ɵɵlistener("modelChange", function SchemaFormRenderComponent_div_0_div_2_div_1_Template_schema_custom_attributes_modelChange_4_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r5 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r5.model.customAttributes = $event); });
|
|
15
|
-
i0.ɵɵelementEnd()()();
|
|
16
|
-
} if (rf & 2) {
|
|
17
|
-
const ctx_r4 = i0.ɵɵnextContext(3);
|
|
18
|
-
i0.ɵɵadvance(3);
|
|
19
|
-
i0.ɵɵtextInterpolate(ctx_r4.additionalAttributesLabel);
|
|
20
|
-
i0.ɵɵadvance(1);
|
|
21
|
-
i0.ɵɵproperty("customAttributeRemoveLabel", ctx_r4.customAttributeRemoveLabel)("newCustomFieldNameLabel", ctx_r4.newCustomFieldNameLabel)("newCustomFieldValueLabel", ctx_r4.newCustomFieldValueLabel)("newCustomFieldAddLabel", ctx_r4.newCustomFieldAddLabel)("newCustomFieldSaveLabel", ctx_r4.newCustomFieldSaveLabel)("newCustomFieldCancelLabel", ctx_r4.newCustomFieldCancelLabel)("model", ctx_r4.model.customAttributes)("onDropFunction", ctx_r4.onDrop);
|
|
22
|
-
} }
|
|
23
|
-
function SchemaFormRenderComponent_div_0_div_2_Template(rf, ctx) { if (rf & 1) {
|
|
24
|
-
i0.ɵɵelementStart(0, "div", 4);
|
|
25
|
-
i0.ɵɵtemplate(1, SchemaFormRenderComponent_div_0_div_2_div_1_Template, 5, 9, "div", 5);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
} if (rf & 2) {
|
|
28
|
-
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
29
|
-
i0.ɵɵadvance(1);
|
|
30
|
-
i0.ɵɵproperty("ngIf", ctx_r1.model && ctx_r1.customProperties);
|
|
31
|
-
} }
|
|
32
|
-
function SchemaFormRenderComponent_div_0_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
const _r8 = i0.ɵɵgetCurrentView();
|
|
34
|
-
i0.ɵɵelementStart(0, "div", 1)(1, "schema-form", 2);
|
|
35
|
-
i0.ɵɵlistener("modelChange", function SchemaFormRenderComponent_div_0_Template_schema_form_modelChange_1_listener($event) { i0.ɵɵrestoreView(_r8); const ctx_r7 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r7.model = $event); });
|
|
36
|
-
i0.ɵɵelementEnd();
|
|
37
|
-
i0.ɵɵtemplate(2, SchemaFormRenderComponent_div_0_div_2_Template, 2, 1, "div", 3);
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
} if (rf & 2) {
|
|
40
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
|
41
|
-
i0.ɵɵadvance(1);
|
|
42
|
-
i0.ɵɵproperty("selectPlaceHolderLabel", ctx_r0.selectPlaceHolderLabel)("selectSearchPlaceHolderLabel", ctx_r0.selectSearchPlaceHolderLabel)("selectClearLabel", ctx_r0.selectClearLabel)("selectNotFoundLabel", ctx_r0.selectNotFoundLabel)("requiredLabel", ctx_r0.requiredLabel)("addItemLabel", ctx_r0.addItemLabel)("addLoopLabel", ctx_r0.addLoopLabel)("additionalAttributesLabel", ctx_r0.additionalAttributesLabel)("customAttributeRemoveLabel", ctx_r0.customAttributeRemoveLabel)("newCustomFieldNameLabel", ctx_r0.newCustomFieldNameLabel)("newCustomFieldValueLabel", ctx_r0.newCustomFieldValueLabel)("newCustomFieldAddLabel", ctx_r0.newCustomFieldAddLabel)("newCustomFieldSaveLabel", ctx_r0.newCustomFieldSaveLabel)("newCustomFieldCancelLabel", ctx_r0.newCustomFieldCancelLabel)("idPrefix", ctx_r0.idPrefix)("model", ctx_r0.model)("schemas", ctx_r0.schemas)("editing", ctx_r0.editing);
|
|
43
|
-
i0.ɵɵadvance(1);
|
|
44
|
-
i0.ɵɵproperty("ngForOf", ctx_r0.schemas);
|
|
45
|
-
} }
|
|
46
|
-
export class SchemaFormRenderComponent extends BaseSchemaComponent {
|
|
47
|
-
constructor() {
|
|
48
|
-
super(...arguments);
|
|
49
|
-
this.requiredLabel = '(required)';
|
|
50
|
-
this.addItemLabel = 'Add Item';
|
|
51
|
-
this.addLoopLabel = 'Add Loop';
|
|
52
|
-
this.additionalAttributesLabel = 'Additional Fields';
|
|
53
|
-
this.customAttributeRemoveLabel = 'Remove';
|
|
54
|
-
this.newCustomFieldNameLabel = 'Name';
|
|
55
|
-
this.newCustomFieldValueLabel = 'Value';
|
|
56
|
-
this.newCustomFieldAddLabel = 'Add';
|
|
57
|
-
this.newCustomFieldSaveLabel = 'Save';
|
|
58
|
-
this.newCustomFieldCancelLabel = 'Cancel';
|
|
59
|
-
this.selectPlaceHolderLabel = 'Select Item';
|
|
60
|
-
this.selectSearchPlaceHolderLabel = 'Search';
|
|
61
|
-
this.selectClearLabel = 'Clear';
|
|
62
|
-
this.selectNotFoundLabel = 'No Items Found';
|
|
63
|
-
this.schemas = [];
|
|
64
|
-
this.customProperties = false;
|
|
65
|
-
this.editing = false;
|
|
66
|
-
this.loaded = false;
|
|
67
|
-
}
|
|
68
|
-
ngAfterContentInit() {
|
|
69
|
-
this.loaded = true;
|
|
70
|
-
}
|
|
71
|
-
onDrop($event, modelElement) {
|
|
72
|
-
return onDropStruct($event, modelElement);
|
|
73
|
-
}
|
|
74
|
-
getId(index) {
|
|
75
|
-
return `${this.idPrefix}-struct-${index}`;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
SchemaFormRenderComponent.ɵfac = /*@__PURE__*/ function () { let ɵSchemaFormRenderComponent_BaseFactory; return function SchemaFormRenderComponent_Factory(t) { return (ɵSchemaFormRenderComponent_BaseFactory || (ɵSchemaFormRenderComponent_BaseFactory = i0.ɵɵgetInheritedFactory(SchemaFormRenderComponent)))(t || SchemaFormRenderComponent); }; }();
|
|
79
|
-
SchemaFormRenderComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SchemaFormRenderComponent, selectors: [["schema-form-render"]], inputs: { requiredLabel: "requiredLabel", addItemLabel: "addItemLabel", addLoopLabel: "addLoopLabel", additionalAttributesLabel: "additionalAttributesLabel", customAttributeRemoveLabel: "customAttributeRemoveLabel", newCustomFieldNameLabel: "newCustomFieldNameLabel", newCustomFieldValueLabel: "newCustomFieldValueLabel", newCustomFieldAddLabel: "newCustomFieldAddLabel", newCustomFieldSaveLabel: "newCustomFieldSaveLabel", newCustomFieldCancelLabel: "newCustomFieldCancelLabel", selectPlaceHolderLabel: "selectPlaceHolderLabel", selectSearchPlaceHolderLabel: "selectSearchPlaceHolderLabel", selectClearLabel: "selectClearLabel", selectNotFoundLabel: "selectNotFoundLabel", idPrefix: "idPrefix", schemas: "schemas", customProperties: "customProperties", editing: "editing", inputType: "inputType" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 1, vars: 1, consts: [["class", "schema", 4, "ngIf"], [1, "schema"], [3, "selectPlaceHolderLabel", "selectSearchPlaceHolderLabel", "selectClearLabel", "selectNotFoundLabel", "requiredLabel", "addItemLabel", "addLoopLabel", "additionalAttributesLabel", "customAttributeRemoveLabel", "newCustomFieldNameLabel", "newCustomFieldValueLabel", "newCustomFieldAddLabel", "newCustomFieldSaveLabel", "newCustomFieldCancelLabel", "idPrefix", "model", "schemas", "editing", "modelChange"], ["class", "schema-properties", 4, "ngFor", "ngForOf"], [1, "schema-properties"], ["class", "row struct-custom-properties", 4, "ngIf"], [1, "row", "struct-custom-properties"], [1, "col-md-12"], [1, "info-label", "bold"], [3, "customAttributeRemoveLabel", "newCustomFieldNameLabel", "newCustomFieldValueLabel", "newCustomFieldAddLabel", "newCustomFieldSaveLabel", "newCustomFieldCancelLabel", "model", "onDropFunction", "modelChange"]], template: function SchemaFormRenderComponent_Template(rf, ctx) { if (rf & 1) {
|
|
80
|
-
i0.ɵɵtemplate(0, SchemaFormRenderComponent_div_0_Template, 3, 19, "div", 0);
|
|
81
|
-
} if (rf & 2) {
|
|
82
|
-
i0.ɵɵproperty("ngIf", ctx.loaded);
|
|
83
|
-
} }, dependencies: [i1.NgForOf, i1.NgIf, i2.SchemaFormComponent, i3.SchemaCustomAttributesComponent], styles: [".schema[_ngcontent-%COMP%] .info-label{display:block}.schema[_ngcontent-%COMP%] input.form-control{width:calc(100% - 24px);padding:11px;border:1px solid #DDD;border-radius:3px;background:#FFF}.schema[_ngcontent-%COMP%] input.form-control:disabled{background:#ccc}.schema[_ngcontent-%COMP%] select.form-control{width:100%;padding:11px;border-radius:4px;border:1px solid #DDD;color:#777;cursor:pointer}.schema[_ngcontent-%COMP%] .ng-select-container{height:38px!important;min-height:38px!important}.schema[_ngcontent-%COMP%] .btn-outline-primary{padding:5px 15px;background:var(--color-primary);border:1px solid var(--color-secondary);color:var(--color-secondary);border-radius:4px;cursor:pointer}.schema[_ngcontent-%COMP%] .btn-outline-primary:hover{background:var(--color-primary-hover)}.schema[_ngcontent-%COMP%] .subsection-item-title{color:var(--color-primary)}.schema[_ngcontent-%COMP%] array-session .subsection-element{color:var(--color-primary)}"] });
|
|
84
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SchemaFormRenderComponent, [{
|
|
85
|
-
type: Component,
|
|
86
|
-
args: [{ selector: 'schema-form-render', template: "<div class=\"schema\" *ngIf=\"loaded\">\r\n <schema-form\r\n [selectPlaceHolderLabel]=\"selectPlaceHolderLabel\"\r\n [selectSearchPlaceHolderLabel]=\"selectSearchPlaceHolderLabel\"\r\n [selectClearLabel]=\"selectClearLabel\"\r\n [selectNotFoundLabel]=\"selectNotFoundLabel\"\r\n [requiredLabel]=\"requiredLabel\"\r\n [addItemLabel]=\"addItemLabel\"\r\n [addLoopLabel]=\"addLoopLabel\"\r\n [additionalAttributesLabel]=\"additionalAttributesLabel\"\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [idPrefix]=\"idPrefix\"\r\n [(model)]=\"model\"\r\n [schemas]=\"schemas\"\r\n [editing]=\"this.editing\"></schema-form>\r\n\r\n <div class=\"schema-properties\" *ngFor=\"let schema of schemas; let i = index\">\r\n <div class=\"row struct-custom-properties\" *ngIf=\"this.model && customProperties\">\r\n <div class=\"col-md-12\">\r\n <label class=\"info-label bold\">{{ this.additionalAttributesLabel }}</label>\r\n <schema-custom-attributes\r\n [customAttributeRemoveLabel]=\"customAttributeRemoveLabel\"\r\n [newCustomFieldNameLabel]=\"newCustomFieldNameLabel\"\r\n [newCustomFieldValueLabel]=\"newCustomFieldValueLabel\"\r\n [newCustomFieldAddLabel]=\"newCustomFieldAddLabel\"\r\n [newCustomFieldSaveLabel]=\"newCustomFieldSaveLabel\"\r\n [newCustomFieldCancelLabel]=\"newCustomFieldCancelLabel\"\r\n [(model)]=\"model.customAttributes\"\r\n [onDropFunction]=\"onDrop\">\r\n </schema-custom-attributes>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n</div>\r\n", styles: [".schema ::ng-deep .info-label{display:block}.schema ::ng-deep input.form-control{width:calc(100% - 24px);padding:11px;border:1px solid #DDD;border-radius:3px;background:#FFF}.schema ::ng-deep input.form-control:disabled{background:#ccc}.schema ::ng-deep select.form-control{width:100%;padding:11px;border-radius:4px;border:1px solid #DDD;color:#777;cursor:pointer}.schema ::ng-deep .ng-select-container{height:38px!important;min-height:38px!important}.schema ::ng-deep .btn-outline-primary{padding:5px 15px;background:var(--color-primary);border:1px solid var(--color-secondary);color:var(--color-secondary);border-radius:4px;cursor:pointer}.schema ::ng-deep .btn-outline-primary:hover{background:var(--color-primary-hover)}.schema ::ng-deep .subsection-item-title{color:var(--color-primary)}.schema ::ng-deep array-session .subsection-element{color:var(--color-primary)}\n"] }]
|
|
87
|
-
}], null, { requiredLabel: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], addItemLabel: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], addLoopLabel: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], additionalAttributesLabel: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], customAttributeRemoveLabel: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], newCustomFieldNameLabel: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], newCustomFieldValueLabel: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], newCustomFieldAddLabel: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], newCustomFieldSaveLabel: [{
|
|
104
|
-
type: Input
|
|
105
|
-
}], newCustomFieldCancelLabel: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], selectPlaceHolderLabel: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], selectSearchPlaceHolderLabel: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], selectClearLabel: [{
|
|
112
|
-
type: Input
|
|
113
|
-
}], selectNotFoundLabel: [{
|
|
114
|
-
type: Input
|
|
115
|
-
}], idPrefix: [{
|
|
116
|
-
type: Input
|
|
117
|
-
}], schemas: [{
|
|
118
|
-
type: Input
|
|
119
|
-
}], customProperties: [{
|
|
120
|
-
type: Input
|
|
121
|
-
}], editing: [{
|
|
122
|
-
type: Input
|
|
123
|
-
}], inputType: [{
|
|
124
|
-
type: Input
|
|
125
|
-
}] }); })();
|
|
126
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLWZvcm0tcmVuZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvc2NoZW1hLWZvcm0tcmVuZGVyLnRzIiwiLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvc2NoZW1hLWZvcm0tcmVuZGVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFvQixTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ2xFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBRTdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTs7Ozs7OztJQ21CekMsOEJBQWlGLGFBQUEsZUFBQTtJQUU5QyxZQUFvQztJQUFBLGlCQUFRO0lBQzNFLG1EQVE0QjtJQUQxQix1TkFBVyxzREFDaEIsSUFEdUM7SUFFcEMsaUJBQTJCLEVBQUEsRUFBQTs7O0lBVkksZUFBb0M7SUFBcEMsc0RBQW9DO0lBRWpFLGVBQXlEO0lBQXpELDhFQUF5RCwyREFBQSw2REFBQSx5REFBQSwyREFBQSwrREFBQSx3Q0FBQSxpQ0FBQTs7O0lBTGpFLDhCQUE2RTtJQUMzRSxzRkFjTTtJQUNSLGlCQUFNOzs7SUFmdUMsZUFBb0M7SUFBcEMsOERBQW9DOzs7O0lBdEJuRiw4QkFBbUMscUJBQUE7SUFpQi9CLHNPQUFpQjtJQUVRLGlCQUFjO0lBRXpDLGdGQWdCTTtJQUVSLGlCQUFNOzs7SUFyQ0YsZUFBaUQ7SUFBakQsc0VBQWlELHFFQUFBLDZDQUFBLG1EQUFBLHVDQUFBLHFDQUFBLHFDQUFBLCtEQUFBLGlFQUFBLDJEQUFBLDZEQUFBLHlEQUFBLDJEQUFBLCtEQUFBLDZCQUFBLHVCQUFBLDJCQUFBLDJCQUFBO0lBbUJELGVBQVk7SUFBWix3Q0FBWTs7QURYaEUsTUFBTSxPQUFPLHlCQUEwQixTQUFRLG1CQUFtQjtJQUxsRTs7UUFNa0Isa0JBQWEsR0FBRyxZQUFZLENBQUE7UUFDNUIsaUJBQVksR0FBRyxVQUFVLENBQUE7UUFDekIsaUJBQVksR0FBRyxVQUFVLENBQUE7UUFDekIsOEJBQXlCLEdBQUcsbUJBQW1CLENBQUE7UUFDL0MsK0JBQTBCLEdBQUcsUUFBUSxDQUFBO1FBQ3JDLDRCQUF1QixHQUFHLE1BQU0sQ0FBQTtRQUNoQyw2QkFBd0IsR0FBRyxPQUFPLENBQUE7UUFDbEMsMkJBQXNCLEdBQUcsS0FBSyxDQUFBO1FBQzlCLDRCQUF1QixHQUFHLE1BQU0sQ0FBQTtRQUNoQyw4QkFBeUIsR0FBRyxRQUFRLENBQUE7UUFDcEMsMkJBQXNCLEdBQUcsYUFBYSxDQUFBO1FBQ3RDLGlDQUE0QixHQUFHLFFBQVEsQ0FBQTtRQUN2QyxxQkFBZ0IsR0FBRyxPQUFPLENBQUE7UUFDMUIsd0JBQW1CLEdBQUcsZ0JBQWdCLENBQUE7UUFHN0MsWUFBTyxHQUFHLEVBQUUsQ0FBQTtRQUNaLHFCQUFnQixHQUFHLEtBQUssQ0FBQTtRQUN4QixZQUFPLEdBQUcsS0FBSyxDQUFBO1FBR3hCLFdBQU0sR0FBRyxLQUFLLENBQUE7S0FhZjtJQVhDLGtCQUFrQjtRQUNoQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtJQUNwQixDQUFDO0lBRUQsTUFBTSxDQUFFLE1BQW9CLEVBQUUsWUFBaUI7UUFDN0MsT0FBTyxZQUFZLENBQUMsTUFBTSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQzNDLENBQUM7SUFFRCxLQUFLLENBQUUsS0FBYTtRQUNsQixPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsV0FBVyxLQUFLLEVBQUUsQ0FBQTtJQUMzQyxDQUFDOztxUkFsQ1UseUJBQXlCLFNBQXpCLHlCQUF5Qjs0RUFBekIseUJBQXlCO1FDVnRDLDJFQXVDTTs7UUF2Q2UsaUNBQVk7O3VGRFVwQix5QkFBeUI7Y0FMckMsU0FBUzsyQkFDRSxvQkFBb0I7Z0JBS2QsYUFBYTtrQkFBNUIsS0FBSztZQUNVLFlBQVk7a0JBQTNCLEtBQUs7WUFDVSxZQUFZO2tCQUEzQixLQUFLO1lBQ1UseUJBQXlCO2tCQUF4QyxLQUFLO1lBQ1UsMEJBQTBCO2tCQUF6QyxLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1Usd0JBQXdCO2tCQUF2QyxLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsdUJBQXVCO2tCQUF0QyxLQUFLO1lBQ1UseUJBQXlCO2tCQUF4QyxLQUFLO1lBQ1Usc0JBQXNCO2tCQUFyQyxLQUFLO1lBQ1UsNEJBQTRCO2tCQUEzQyxLQUFLO1lBQ1UsZ0JBQWdCO2tCQUEvQixLQUFLO1lBQ1UsbUJBQW1CO2tCQUFsQyxLQUFLO1lBRUcsUUFBUTtrQkFBaEIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNHLGdCQUFnQjtrQkFBeEIsS0FBSztZQUNHLE9BQU87a0JBQWYsS0FBSztZQUNHLFNBQVM7a0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgQmFzZVNjaGVtYUNvbXBvbmVudCB9IGZyb20gJy4vYmFzZS1zY2hlbWEuY29tcG9uZW50J1xyXG5pbXBvcnQgeyBEbmREcm9wRXZlbnQgfSBmcm9tICduZ3gtZHJhZy1kcm9wJ1xyXG5pbXBvcnQgeyBvbkRyb3BTdHJ1Y3QgfSBmcm9tICcuL3N0cnVjdC51dGlscydcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2NoZW1hLWZvcm0tcmVuZGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJ3NjaGVtYS1mb3JtLXJlbmRlci5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9zY2hlbWEtZm9ybS1yZW5kZXIuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTY2hlbWFGb3JtUmVuZGVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZVNjaGVtYUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xyXG4gIEBJbnB1dCgpIHB1YmxpYyByZXF1aXJlZExhYmVsID0gJyhyZXF1aXJlZCknXHJcbiAgQElucHV0KCkgcHVibGljIGFkZEl0ZW1MYWJlbCA9ICdBZGQgSXRlbSdcclxuICBASW5wdXQoKSBwdWJsaWMgYWRkTG9vcExhYmVsID0gJ0FkZCBMb29wJ1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBhZGRpdGlvbmFsQXR0cmlidXRlc0xhYmVsID0gJ0FkZGl0aW9uYWwgRmllbGRzJ1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBjdXN0b21BdHRyaWJ1dGVSZW1vdmVMYWJlbCA9ICdSZW1vdmUnXHJcbiAgQElucHV0KCkgcHVibGljIG5ld0N1c3RvbUZpZWxkTmFtZUxhYmVsID0gJ05hbWUnXHJcbiAgQElucHV0KCkgcHVibGljIG5ld0N1c3RvbUZpZWxkVmFsdWVMYWJlbCA9ICdWYWx1ZSdcclxuICBASW5wdXQoKSBwdWJsaWMgbmV3Q3VzdG9tRmllbGRBZGRMYWJlbCA9ICdBZGQnXHJcbiAgQElucHV0KCkgcHVibGljIG5ld0N1c3RvbUZpZWxkU2F2ZUxhYmVsID0gJ1NhdmUnXHJcbiAgQElucHV0KCkgcHVibGljIG5ld0N1c3RvbUZpZWxkQ2FuY2VsTGFiZWwgPSAnQ2FuY2VsJ1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RQbGFjZUhvbGRlckxhYmVsID0gJ1NlbGVjdCBJdGVtJ1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBzZWxlY3RTZWFyY2hQbGFjZUhvbGRlckxhYmVsID0gJ1NlYXJjaCdcclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0Q2xlYXJMYWJlbCA9ICdDbGVhcidcclxuICBASW5wdXQoKSBwdWJsaWMgc2VsZWN0Tm90Rm91bmRMYWJlbCA9ICdObyBJdGVtcyBGb3VuZCdcclxuXHJcbiAgQElucHV0KCkgaWRQcmVmaXg6IHN0cmluZyB8IHVuZGVmaW5lZFxyXG4gIEBJbnB1dCgpIHNjaGVtYXMgPSBbXVxyXG4gIEBJbnB1dCgpIGN1c3RvbVByb3BlcnRpZXMgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGVkaXRpbmcgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGlucHV0VHlwZTogc3RyaW5nIHwgdW5kZWZpbmVkXHJcblxyXG4gIGxvYWRlZCA9IGZhbHNlXHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmxvYWRlZCA9IHRydWVcclxuICB9XHJcblxyXG4gIG9uRHJvcCAoJGV2ZW50OiBEbmREcm9wRXZlbnQsIG1vZGVsRWxlbWVudDogYW55KTogYW55IHtcclxuICAgIHJldHVybiBvbkRyb3BTdHJ1Y3QoJGV2ZW50LCBtb2RlbEVsZW1lbnQpXHJcbiAgfVxyXG5cclxuICBnZXRJZCAoaW5kZXg6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7dGhpcy5pZFByZWZpeH0tc3RydWN0LSR7aW5kZXh9YFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic2NoZW1hXCIgKm5nSWY9XCJsb2FkZWRcIj5cclxuICA8c2NoZW1hLWZvcm1cclxuICAgIFtzZWxlY3RQbGFjZUhvbGRlckxhYmVsXT1cInNlbGVjdFBsYWNlSG9sZGVyTGFiZWxcIlxyXG4gICAgW3NlbGVjdFNlYXJjaFBsYWNlSG9sZGVyTGFiZWxdPVwic2VsZWN0U2VhcmNoUGxhY2VIb2xkZXJMYWJlbFwiXHJcbiAgICBbc2VsZWN0Q2xlYXJMYWJlbF09XCJzZWxlY3RDbGVhckxhYmVsXCJcclxuICAgIFtzZWxlY3ROb3RGb3VuZExhYmVsXT1cInNlbGVjdE5vdEZvdW5kTGFiZWxcIlxyXG4gICAgW3JlcXVpcmVkTGFiZWxdPVwicmVxdWlyZWRMYWJlbFwiXHJcbiAgICBbYWRkSXRlbUxhYmVsXT1cImFkZEl0ZW1MYWJlbFwiXHJcbiAgICBbYWRkTG9vcExhYmVsXT1cImFkZExvb3BMYWJlbFwiXHJcbiAgICBbYWRkaXRpb25hbEF0dHJpYnV0ZXNMYWJlbF09XCJhZGRpdGlvbmFsQXR0cmlidXRlc0xhYmVsXCJcclxuICAgIFtjdXN0b21BdHRyaWJ1dGVSZW1vdmVMYWJlbF09XCJjdXN0b21BdHRyaWJ1dGVSZW1vdmVMYWJlbFwiXHJcbiAgICBbbmV3Q3VzdG9tRmllbGROYW1lTGFiZWxdPVwibmV3Q3VzdG9tRmllbGROYW1lTGFiZWxcIlxyXG4gICAgW25ld0N1c3RvbUZpZWxkVmFsdWVMYWJlbF09XCJuZXdDdXN0b21GaWVsZFZhbHVlTGFiZWxcIlxyXG4gICAgW25ld0N1c3RvbUZpZWxkQWRkTGFiZWxdPVwibmV3Q3VzdG9tRmllbGRBZGRMYWJlbFwiXHJcbiAgICBbbmV3Q3VzdG9tRmllbGRTYXZlTGFiZWxdPVwibmV3Q3VzdG9tRmllbGRTYXZlTGFiZWxcIlxyXG4gICAgW25ld0N1c3RvbUZpZWxkQ2FuY2VsTGFiZWxdPVwibmV3Q3VzdG9tRmllbGRDYW5jZWxMYWJlbFwiXHJcbiAgICBbaWRQcmVmaXhdPVwiaWRQcmVmaXhcIlxyXG4gICAgWyhtb2RlbCldPVwibW9kZWxcIlxyXG4gICAgW3NjaGVtYXNdPVwic2NoZW1hc1wiXHJcbiAgICBbZWRpdGluZ109XCJ0aGlzLmVkaXRpbmdcIj48L3NjaGVtYS1mb3JtPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwic2NoZW1hLXByb3BlcnRpZXNcIiAqbmdGb3I9XCJsZXQgc2NoZW1hIG9mIHNjaGVtYXM7IGxldCBpID0gaW5kZXhcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgc3RydWN0LWN1c3RvbS1wcm9wZXJ0aWVzXCIgKm5nSWY9XCJ0aGlzLm1vZGVsICYmIGN1c3RvbVByb3BlcnRpZXNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImluZm8tbGFiZWwgYm9sZFwiPnt7IHRoaXMuYWRkaXRpb25hbEF0dHJpYnV0ZXNMYWJlbCB9fTwvbGFiZWw+XHJcbiAgICAgICAgPHNjaGVtYS1jdXN0b20tYXR0cmlidXRlc1xyXG4gICAgICAgICAgW2N1c3RvbUF0dHJpYnV0ZVJlbW92ZUxhYmVsXT1cImN1c3RvbUF0dHJpYnV0ZVJlbW92ZUxhYmVsXCJcclxuICAgICAgICAgIFtuZXdDdXN0b21GaWVsZE5hbWVMYWJlbF09XCJuZXdDdXN0b21GaWVsZE5hbWVMYWJlbFwiXHJcbiAgICAgICAgICBbbmV3Q3VzdG9tRmllbGRWYWx1ZUxhYmVsXT1cIm5ld0N1c3RvbUZpZWxkVmFsdWVMYWJlbFwiXHJcbiAgICAgICAgICBbbmV3Q3VzdG9tRmllbGRBZGRMYWJlbF09XCJuZXdDdXN0b21GaWVsZEFkZExhYmVsXCJcclxuICAgICAgICAgIFtuZXdDdXN0b21GaWVsZFNhdmVMYWJlbF09XCJuZXdDdXN0b21GaWVsZFNhdmVMYWJlbFwiXHJcbiAgICAgICAgICBbbmV3Q3VzdG9tRmllbGRDYW5jZWxMYWJlbF09XCJuZXdDdXN0b21GaWVsZENhbmNlbExhYmVsXCJcclxuICAgICAgICAgIFsobW9kZWwpXT1cIm1vZGVsLmN1c3RvbUF0dHJpYnV0ZXNcIlxyXG4gICAgICAgICAgW29uRHJvcEZ1bmN0aW9uXT1cIm9uRHJvcFwiPlxyXG4gICAgICAgIDwvc2NoZW1hLWN1c3RvbS1hdHRyaWJ1dGVzPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export class SchemaValidationField {
|
|
2
|
-
constructor(emptyFields, invalidMinLengthFields, invalidMaxLengthFields) {
|
|
3
|
-
this.emptyFields = emptyFields;
|
|
4
|
-
this.invalidMinLengthFields = invalidMinLengthFields;
|
|
5
|
-
this.invalidMaxLengthFields = invalidMaxLengthFields;
|
|
6
|
-
}
|
|
7
|
-
isValidSchemaFields() {
|
|
8
|
-
return this.emptyFields?.length < 1 && this.invalidMinLengthFields?.length < 1 && this.invalidMaxLengthFields?.length < 1;
|
|
9
|
-
}
|
|
10
|
-
isInvalidSchemaFields() {
|
|
11
|
-
return !this.isValidSchemaFields();
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLXZhbGlkYXRpb24tZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zY2hlbWFzL3NyYy9zY2hlbWEtdmFsaWRhdGlvbi1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsTUFBTSxPQUFPLHFCQUFxQjtJQU1oQyxZQUFhLFdBQTRCLEVBQUUsc0JBQXVDLEVBQUUsc0JBQXVDO1FBQ3pILElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFBO1FBQzlCLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxzQkFBc0IsQ0FBQTtRQUNwRCxJQUFJLENBQUMsc0JBQXNCLEdBQUcsc0JBQXNCLENBQUE7SUFDdEQsQ0FBQztJQUVELG1CQUFtQjtRQUNqQixPQUFPLElBQUksQ0FBQyxXQUFXLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQTtJQUMzSCxDQUFDO0lBRUQscUJBQXFCO1FBQ25CLE9BQU8sQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQTtJQUNwQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBTdHJ1Y3RGaWVsZFR5cGUgPSBBcnJheTx7XHJcbiAgdGl0bGU/OiBzdHJpbmdcclxuICBpZDogc3RyaW5nXHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmdcclxuICBwcm9wZXJ0eU9yZGVyPzogbnVtYmVyXHJcbiAgbWluTGVuZ3RoPzogbnVtYmVyXHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyXHJcbn0+XHJcblxyXG5leHBvcnQgdHlwZSBFcnJvcnNMYWJlbCA9IEFycmF5PHtcclxuICB0eXBlOiBzdHJpbmdcclxuICBmaWVsZE5hbWU/OiBzdHJpbmdcclxuICBtaW5MZW5ndGg/OiBudW1iZXJcclxuICBtYXhMZW5ndGg/OiBudW1iZXJcclxufT5cclxuXHJcbmV4cG9ydCBjbGFzcyBTY2hlbWFWYWxpZGF0aW9uRmllbGQge1xuICBlbXB0eUZpZWxkczogU3RydWN0RmllbGRUeXBlXHJcbiAgaW52YWxpZE1pbkxlbmd0aEZpZWxkczogU3RydWN0RmllbGRUeXBlXHJcbiAgaW52YWxpZE1heExlbmd0aEZpZWxkczogU3RydWN0RmllbGRUeXBlXHJcbiAgdmFsaWRhdGlvbkVycm9yc0xhYmVsOiBFcnJvcnNMYWJlbCB8IHVuZGVmaW5lZFxyXG5cclxuICBjb25zdHJ1Y3RvciAoZW1wdHlGaWVsZHM6IFN0cnVjdEZpZWxkVHlwZSwgaW52YWxpZE1pbkxlbmd0aEZpZWxkczogU3RydWN0RmllbGRUeXBlLCBpbnZhbGlkTWF4TGVuZ3RoRmllbGRzOiBTdHJ1Y3RGaWVsZFR5cGUpIHtcclxuICAgIHRoaXMuZW1wdHlGaWVsZHMgPSBlbXB0eUZpZWxkc1xyXG4gICAgdGhpcy5pbnZhbGlkTWluTGVuZ3RoRmllbGRzID0gaW52YWxpZE1pbkxlbmd0aEZpZWxkc1xyXG4gICAgdGhpcy5pbnZhbGlkTWF4TGVuZ3RoRmllbGRzID0gaW52YWxpZE1heExlbmd0aEZpZWxkc1xyXG4gIH1cclxuXHJcbiAgaXNWYWxpZFNjaGVtYUZpZWxkcyAoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5lbXB0eUZpZWxkcz8ubGVuZ3RoIDwgMSAmJiB0aGlzLmludmFsaWRNaW5MZW5ndGhGaWVsZHM/Lmxlbmd0aCA8IDEgJiYgdGhpcy5pbnZhbGlkTWF4TGVuZ3RoRmllbGRzPy5sZW5ndGggPCAxXHJcbiAgfVxyXG5cclxuICBpc0ludmFsaWRTY2hlbWFGaWVsZHMgKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICF0aGlzLmlzVmFsaWRTY2hlbWFGaWVsZHMoKVxyXG4gIH1cbn1cclxuIl19
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import { Injectable, Optional, SkipSelf } from '@angular/core';
|
|
2
|
-
import { FormControl, Validators } from '@angular/forms';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class TypeScriptCompileBase {
|
|
5
|
-
getTranslate(text) {
|
|
6
|
-
return text;
|
|
7
|
-
}
|
|
8
|
-
addItemToFormProperties(formProperties, item, key) {
|
|
9
|
-
this.translateProperties(item);
|
|
10
|
-
if (item.minLength && item.minLength > 0) {
|
|
11
|
-
formProperties[key] = new FormControl([null, [Validators.required]]);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
formProperties[key] = new FormControl([null]);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
compileProperties(input) {
|
|
18
|
-
const compiledProperties = [];
|
|
19
|
-
const formProperties = {};
|
|
20
|
-
let inputData = {};
|
|
21
|
-
const inputToCompile = JSON.parse(JSON.stringify(input));
|
|
22
|
-
this.translateProperties(inputToCompile);
|
|
23
|
-
if (inputToCompile.properties) {
|
|
24
|
-
if (inputToCompile.type === 'array') {
|
|
25
|
-
inputData = [];
|
|
26
|
-
}
|
|
27
|
-
if (inputToCompile.type === 'object') {
|
|
28
|
-
inputData = {};
|
|
29
|
-
}
|
|
30
|
-
inputToCompile.id = 'inputData';
|
|
31
|
-
this.proccessProperties(inputToCompile, formProperties, 'inputData');
|
|
32
|
-
this.translateProperties(inputToCompile);
|
|
33
|
-
compiledProperties.push(inputToCompile);
|
|
34
|
-
}
|
|
35
|
-
else if (inputToCompile.type === 'array') {
|
|
36
|
-
inputToCompile.id = 'inputData';
|
|
37
|
-
inputData = [];
|
|
38
|
-
this.addItemToFormProperties(formProperties, inputToCompile, 'inputData');
|
|
39
|
-
compiledProperties.push(inputToCompile);
|
|
40
|
-
}
|
|
41
|
-
else if (!inputToCompile.type) {
|
|
42
|
-
for (let index = 0; index < Object.keys(inputToCompile).length; index++) {
|
|
43
|
-
const key = Object.keys(inputToCompile)[index];
|
|
44
|
-
const item = inputToCompile[key];
|
|
45
|
-
item.id = key;
|
|
46
|
-
if (item.type === 'array') {
|
|
47
|
-
inputData[item.id] = [];
|
|
48
|
-
}
|
|
49
|
-
if (item.type === 'object') {
|
|
50
|
-
inputData[item.id] = {};
|
|
51
|
-
}
|
|
52
|
-
this.proccessProperties(item, formProperties, key);
|
|
53
|
-
this.translateProperties(item);
|
|
54
|
-
compiledProperties.push(item);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
compiledProperties.sort((a, b) => a.propertyOrder - b.propertyOrder);
|
|
58
|
-
return { compiledProperties, formProperties, inputData };
|
|
59
|
-
}
|
|
60
|
-
translateProperties(input) {
|
|
61
|
-
if (input?.title) {
|
|
62
|
-
input.title = this.getTranslate(input.title);
|
|
63
|
-
}
|
|
64
|
-
if (input?.description) {
|
|
65
|
-
input.description = this.getTranslate(input.description);
|
|
66
|
-
}
|
|
67
|
-
if (input?.options instanceof Array) {
|
|
68
|
-
input?.options.forEach((option) => {
|
|
69
|
-
option.value = this.getTranslate(option.value);
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
proccessProperties(item, formProperties, key) {
|
|
74
|
-
this.translateProperties(item);
|
|
75
|
-
if (this.hasProperties(item)) {
|
|
76
|
-
const arFieldsChild = [];
|
|
77
|
-
for (let indexChild = 0; indexChild < Object.keys(item.properties).length; indexChild++) {
|
|
78
|
-
const keyChild = Object.keys(item.properties)[indexChild];
|
|
79
|
-
const itemChild = item.properties[keyChild];
|
|
80
|
-
itemChild.id = keyChild;
|
|
81
|
-
if (this.hasProperties(itemChild)) {
|
|
82
|
-
this.proccessProperties(itemChild, formProperties, keyChild);
|
|
83
|
-
arFieldsChild.push(itemChild);
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
this.addItemToFormProperties(formProperties, itemChild, keyChild);
|
|
87
|
-
arFieldsChild.push(itemChild);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
item.properties = arFieldsChild;
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.addItemToFormProperties(formProperties, item, key);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
hasProperties(item) {
|
|
97
|
-
return item.type === 'object' || (item.type === 'array' && item.properties);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
TypeScriptCompileBase.ɵfac = function TypeScriptCompileBase_Factory(t) { return new (t || TypeScriptCompileBase)(); };
|
|
101
|
-
TypeScriptCompileBase.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: TypeScriptCompileBase, factory: TypeScriptCompileBase.ɵfac, providedIn: 'root' });
|
|
102
|
-
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TypeScriptCompileBase, [{
|
|
103
|
-
type: Injectable,
|
|
104
|
-
args: [{ providedIn: 'root' }]
|
|
105
|
-
}], null, null); })();
|
|
106
|
-
export function APIPASS_TYPESCRIPT_COMPILE_BASE_PROVIDER_FACTORY(parentIntl) {
|
|
107
|
-
return parentIntl || new TypeScriptCompileBase();
|
|
108
|
-
}
|
|
109
|
-
export const APIPASS_TYPESCRIPT_COMPILE_INTL_PROVIDER = {
|
|
110
|
-
provide: TypeScriptCompileBase,
|
|
111
|
-
deps: [[new Optional(), new SkipSelf(), TypeScriptCompileBase]],
|
|
112
|
-
useFactory: APIPASS_TYPESCRIPT_COMPILE_BASE_PROVIDER_FACTORY
|
|
113
|
-
};
|
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZS1zY3JpcHQtY29tcGlsZS5iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2NoZW1hcy9zcmMvdHlwZS1zY3JpcHQtY29tcGlsZS90eXBlLXNjcmlwdC1jb21waWxlLmJhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQzlELE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7O0FBR3hELE1BQU0sT0FBTyxxQkFBcUI7SUFDdEIsWUFBWSxDQUFFLElBQVk7UUFDbEMsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBRVMsdUJBQXVCLENBQUUsY0FBbUIsRUFBRSxJQUFTLEVBQUUsR0FBVztRQUM1RSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxFQUFFO1lBQ3hDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUE7U0FDckU7YUFBTTtZQUNMLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLFdBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUE7U0FDOUM7SUFDSCxDQUFDO0lBRU0saUJBQWlCLENBQUUsS0FBVTtRQUtsQyxNQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQTtRQUM3QixNQUFNLGNBQWMsR0FBRyxFQUFFLENBQUE7UUFDekIsSUFBSSxTQUFTLEdBQVEsRUFBRSxDQUFBO1FBQ3ZCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFL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QUksQ0FBQyx1QkFBdUIsQ0FBQyxjQUFjLEVBQUUsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1NBQ3hEO0lBQ0gsQ0FBQztJQUVTLGFBQWEsQ0FBRSxJQUFTO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0UsQ0FBQzs7MEZBdEdVLHFCQUFxQjsyRUFBckIscUJBQXFCLFdBQXJCLHFCQUFxQixtQkFEUixNQUFNO3VGQUNuQixxQkFBcUI7Y0FEakMsVUFBVTtlQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRTs7QUEwR2xDLE1BQU0sVUFBVSxnREFBZ0QsQ0FBRSxVQUFpQztJQUNqRyxPQUFPLFVBQVUsSUFBSSxJQUFJLHFCQUFxQixFQUFFLENBQUE7QUFDbEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLHdDQUF3QyxHQUFRO0lBQzNELE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUMvRCxVQUFVLEVBQUUsZ0RBQWdEO0NBQzdELENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlLCBPcHRpb25hbCwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJ1xyXG5cclxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcclxuZXhwb3J0IGNsYXNzIFR5cGVTY3JpcHRDb21waWxlQmFzZSB7XHJcbiAgcHJvdGVjdGVkIGdldFRyYW5zbGF0ZSAodGV4dDogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0ZXh0XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMgKGZvcm1Qcm9wZXJ0aWVzOiBhbnksIGl0ZW06IGFueSwga2V5OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudHJhbnNsYXRlUHJvcGVydGllcyhpdGVtKVxyXG4gICAgaWYgKGl0ZW0ubWluTGVuZ3RoICYmIGl0ZW0ubWluTGVuZ3RoID4gMCkge1xyXG4gICAgICBmb3JtUHJvcGVydGllc1trZXldID0gbmV3IEZvcm1Db250cm9sKFtudWxsLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF1dKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZm9ybVByb3BlcnRpZXNba2V5XSA9IG5ldyBGb3JtQ29udHJvbChbbnVsbF0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29tcGlsZVByb3BlcnRpZXMgKGlucHV0OiBhbnkpOiB7XHJcbiAgICBjb21waWxlZFByb3BlcnRpZXM6IGFueVxyXG4gICAgZm9ybVByb3BlcnRpZXM6IGFueVxyXG4gICAgaW5wdXREYXRhOiBhbnlcclxuICB9IHtcclxuICAgIGNvbnN0IGNvbXBpbGVkUHJvcGVydGllcyA9IFtdXHJcbiAgICBjb25zdCBmb3JtUHJvcGVydGllcyA9IHt9XHJcbiAgICBsZXQgaW5wdXREYXRhOiBhbnkgPSB7fVxyXG4gICAgY29uc3QgaW5wdXRUb0NvbXBpbGUgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGlucHV0KSlcclxuICAgIHRoaXMudHJhbnNsYXRlUHJvcGVydGllcyhpbnB1dFRvQ29tcGlsZSlcclxuXHJcbiAgICBpZiAoaW5wdXRUb0NvbXBpbGUucHJvcGVydGllcykge1xyXG4gICAgICBpZiAoaW5wdXRUb0NvbXBpbGUudHlwZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICAgIGlucHV0RGF0YSA9IFtdXHJcbiAgICAgIH1cclxuICAgICAgaWYgKGlucHV0VG9Db21waWxlLnR5cGUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgaW5wdXREYXRhID0ge31cclxuICAgICAgfVxyXG4gICAgICBpbnB1dFRvQ29tcGlsZS5pZCA9ICdpbnB1dERhdGEnXHJcbiAgICAgIHRoaXMucHJvY2Nlc3NQcm9wZXJ0aWVzKGlucHV0VG9Db21waWxlLCBmb3JtUHJvcGVydGllcywgJ2lucHV0RGF0YScpXHJcbiAgICAgIHRoaXMudHJhbnNsYXRlUHJvcGVydGllcyhpbnB1dFRvQ29tcGlsZSlcclxuICAgICAgY29tcGlsZWRQcm9wZXJ0aWVzLnB1c2goaW5wdXRUb0NvbXBpbGUpXHJcbiAgICB9IGVsc2UgaWYgKGlucHV0VG9Db21waWxlLnR5cGUgPT09ICdhcnJheScpIHtcclxuICAgICAgaW5wdXRUb0NvbXBpbGUuaWQgPSAnaW5wdXREYXRhJ1xyXG4gICAgICBpbnB1dERhdGEgPSBbXVxyXG4gICAgICB0aGlzLmFkZEl0ZW1Ub0Zvcm1Qcm9wZXJ0aWVzKGZvcm1Qcm9wZXJ0aWVzLCBpbnB1dFRvQ29tcGlsZSwgJ2lucHV0RGF0YScpXHJcbiAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGlucHV0VG9Db21waWxlKVxyXG4gICAgfSBlbHNlIGlmICghaW5wdXRUb0NvbXBpbGUudHlwZSkge1xyXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgT2JqZWN0LmtleXMoaW5wdXRUb0NvbXBpbGUpLmxlbmd0aDsgaW5kZXgrKykge1xyXG4gICAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKGlucHV0VG9Db21waWxlKVtpbmRleF1cclxuICAgICAgICBjb25zdCBpdGVtID0gaW5wdXRUb0NvbXBpbGVba2V5XVxyXG4gICAgICAgIGl0ZW0uaWQgPSBrZXlcclxuXHJcbiAgICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gJ2FycmF5Jykge1xyXG4gICAgICAgICAgaW5wdXREYXRhW2l0ZW0uaWRdID0gW11cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgICBpbnB1dERhdGFbaXRlbS5pZF0gPSB7fVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnByb2NjZXNzUHJvcGVydGllcyhpdGVtLCBmb3JtUHJvcGVydGllcywga2V5KVxyXG4gICAgICAgIHRoaXMudHJhbnNsYXRlUHJvcGVydGllcyhpdGVtKVxyXG4gICAgICAgIGNvbXBpbGVkUHJvcGVydGllcy5wdXNoKGl0ZW0pXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb21waWxlZFByb3BlcnRpZXMuc29ydCgoYSwgYikgPT4gYS5wcm9wZXJ0eU9yZGVyIC0gYi5wcm9wZXJ0eU9yZGVyKVxyXG4gICAgcmV0dXJuIHsgY29tcGlsZWRQcm9wZXJ0aWVzLCBmb3JtUHJvcGVydGllcywgaW5wdXREYXRhIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCB0cmFuc2xhdGVQcm9wZXJ0aWVzIChpbnB1dDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoaW5wdXQ/LnRpdGxlKSB7XHJcbiAgICAgIGlucHV0LnRpdGxlID0gdGhpcy5nZXRUcmFuc2xhdGUoaW5wdXQudGl0bGUpXHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXQ/LmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgIGlucHV0LmRlc2NyaXB0aW9uID0gdGhpcy5nZXRUcmFuc2xhdGUoaW5wdXQuZGVzY3JpcHRpb24pXHJcbiAgICB9XHJcbiAgICBpZiAoaW5wdXQ/Lm9wdGlvbnMgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgICBpbnB1dD8ub3B0aW9ucy5mb3JFYWNoKChvcHRpb246IGFueSkgPT4ge1xyXG4gICAgICAgIG9wdGlvbi52YWx1ZSA9IHRoaXMuZ2V0VHJhbnNsYXRlKG9wdGlvbi52YWx1ZSlcclxuICAgICAgfSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBwcm9jY2Vzc1Byb3BlcnRpZXMgKGl0ZW06IGFueSwgZm9ybVByb3BlcnRpZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBrZXk6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy50cmFuc2xhdGVQcm9wZXJ0aWVzKGl0ZW0pXHJcbiAgICBpZiAodGhpcy5oYXNQcm9wZXJ0aWVzKGl0ZW0pKSB7XHJcbiAgICAgIGNvbnN0IGFyRmllbGRzQ2hpbGQgPSBbXVxyXG4gICAgICBmb3IgKGxldCBpbmRleENoaWxkID0gMDsgaW5kZXhDaGlsZCA8IE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydGllcykubGVuZ3RoOyBpbmRleENoaWxkKyspIHtcclxuICAgICAgICBjb25zdCBrZXlDaGlsZCA9IE9iamVjdC5rZXlzKGl0ZW0ucHJvcGVydGllcylbaW5kZXhDaGlsZF1cclxuICAgICAgICBjb25zdCBpdGVtQ2hpbGQgPSBpdGVtLnByb3BlcnRpZXNba2V5Q2hpbGRdXHJcbiAgICAgICAgaXRlbUNoaWxkLmlkID0ga2V5Q2hpbGRcclxuICAgICAgICBpZiAodGhpcy5oYXNQcm9wZXJ0aWVzKGl0ZW1DaGlsZCkpIHtcclxuICAgICAgICAgIHRoaXMucHJvY2Nlc3NQcm9wZXJ0aWVzKGl0ZW1DaGlsZCwgZm9ybVByb3BlcnRpZXMsIGtleUNoaWxkKVxyXG4gICAgICAgICAgYXJGaWVsZHNDaGlsZC5wdXNoKGl0ZW1DaGlsZClcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5hZGRJdGVtVG9Gb3JtUHJvcGVydGllcyhmb3JtUHJvcGVydGllcywgaXRlbUNoaWxkLCBrZXlDaGlsZClcclxuICAgICAgICAgIGFyRmllbGRzQ2hpbGQucHVzaChpdGVtQ2hpbGQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGl0ZW0ucHJvcGVydGllcyA9IGFyRmllbGRzQ2hpbGRcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuYWRkSXRlbVRvRm9ybVByb3BlcnRpZXMoZm9ybVByb3BlcnRpZXMsIGl0ZW0sIGtleSlcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBoYXNQcm9wZXJ0aWVzIChpdGVtOiBhbnkpOiBhbnkge1xyXG4gICAgcmV0dXJuIGl0ZW0udHlwZSA9PT0gJ29iamVjdCcgfHwgKGl0ZW0udHlwZSA9PT0gJ2FycmF5JyAmJiBpdGVtLnByb3BlcnRpZXMpXHJcbiAgfVxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gQVBJUEFTU19UWVBFU0NSSVBUX0NPTVBJTEVfQkFTRV9QUk9WSURFUl9GQUNUT1JZIChwYXJlbnRJbnRsOiBUeXBlU2NyaXB0Q29tcGlsZUJhc2UpOiBhbnkge1xyXG4gIHJldHVybiBwYXJlbnRJbnRsIHx8IG5ldyBUeXBlU2NyaXB0Q29tcGlsZUJhc2UoKVxyXG59XHJcblxyXG5leHBvcnQgY29uc3QgQVBJUEFTU19UWVBFU0NSSVBUX0NPTVBJTEVfSU5UTF9QUk9WSURFUjogYW55ID0ge1xyXG4gIHByb3ZpZGU6IFR5cGVTY3JpcHRDb21waWxlQmFzZSxcclxuICBkZXBzOiBbW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgVHlwZVNjcmlwdENvbXBpbGVCYXNlXV0sXHJcbiAgdXNlRmFjdG9yeTogQVBJUEFTU19UWVBFU0NSSVBUX0NPTVBJTEVfQkFTRV9QUk9WSURFUl9GQUNUT1JZXHJcbn1cclxuIl19
|