@decaf-ts/for-angular 0.0.4 → 0.0.5
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/LICENSE.md +646 -144
- package/README.md +37 -242
- package/dist/lib/README.md +92 -0
- package/dist/lib/assets/i18n/en.json +131 -0
- package/dist/lib/assets/images/angular-logo.svg +45 -0
- package/dist/lib/assets/images/decaf-logo-black.svg +22 -0
- package/dist/lib/assets/images/decaf-logo-lw.svg +50 -0
- package/dist/lib/assets/images/decaf-logo-white.svg +22 -0
- package/dist/lib/assets/images/decaf-logo.svg +54 -0
- package/dist/lib/components/component-renderer/component-renderer.component.d.ts +267 -0
- package/dist/lib/components/crud-field/crud-field.component.d.ts +447 -0
- package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/constants.d.ts +0 -0
- package/dist/lib/components/crud-form/crud-form.component.d.ts +102 -0
- package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/types.d.ts +0 -0
- package/dist/lib/components/model-renderer/model-renderer.component.d.ts +97 -0
- package/dist/lib/engine/DynamicModule.d.ts +17 -0
- package/dist/{for-angular → lib}/engine/NgxCrudFormField.d.ts +22 -14
- package/dist/lib/engine/NgxFormService.d.ts +167 -0
- package/dist/lib/engine/NgxRenderingEngine.d.ts +128 -0
- package/dist/lib/engine/NgxRenderingEngine2.d.ts +251 -0
- package/dist/lib/engine/ValidatorFactory.d.ts +15 -0
- package/dist/lib/engine/constants.d.ts +151 -0
- package/dist/lib/engine/decorators.d.ts +25 -0
- package/dist/lib/engine/index.d.ts +15 -0
- package/dist/lib/engine/types.d.ts +293 -0
- package/dist/lib/esm2022/components/component-renderer/component-renderer.component.mjs +309 -0
- package/dist/lib/esm2022/components/crud-field/crud-field.component.mjs +288 -0
- package/dist/lib/esm2022/components/crud-form/constants.mjs +14 -0
- package/dist/lib/esm2022/components/crud-form/crud-form.component.mjs +140 -0
- package/dist/lib/esm2022/components/crud-form/types.mjs +2 -0
- package/dist/lib/esm2022/components/model-renderer/model-renderer.component.mjs +137 -0
- package/dist/{for-angular → lib}/esm2022/decaf-ts-for-angular.mjs +0 -0
- package/dist/lib/esm2022/engine/DynamicModule.mjs +18 -0
- package/dist/lib/esm2022/engine/NgxCrudFormField.mjs +117 -0
- package/dist/lib/esm2022/engine/NgxFormService.mjs +315 -0
- package/dist/lib/esm2022/engine/NgxRenderingEngine.mjs +194 -0
- package/dist/lib/esm2022/engine/NgxRenderingEngine2.mjs +333 -0
- package/dist/lib/esm2022/engine/ValidatorFactory.mjs +102 -0
- package/dist/lib/esm2022/engine/constants.mjs +160 -0
- package/dist/lib/esm2022/engine/decorators.mjs +38 -0
- package/dist/lib/esm2022/engine/index.mjs +16 -0
- package/dist/lib/esm2022/engine/types.mjs +2 -0
- package/dist/lib/esm2022/for-angular.module.mjs +118 -0
- package/dist/lib/esm2022/interfaces.mjs +2 -0
- package/dist/lib/esm2022/public-apis.mjs +13 -0
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs +2138 -0
- package/dist/lib/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
- package/dist/lib/for-angular.module.d.ts +44 -0
- package/dist/{for-angular → lib}/index.d.ts +0 -0
- package/dist/lib/interfaces.d.ts +28 -0
- package/dist/lib/public-apis.d.ts +12 -0
- package/package.json +73 -26
- package/dist/for-angular/README.md +0 -297
- package/dist/for-angular/assets/i18n/en.json +0 -21
- package/dist/for-angular/components/decaf-crud-field/decaf-crud-field.component.d.ts +0 -49
- package/dist/for-angular/components/decaf-crud-form/decaf-crud-form.component.d.ts +0 -28
- package/dist/for-angular/components/decaf-model-renderer/decaf-model-renderer.component.d.ts +0 -20
- package/dist/for-angular/engine/DynamicModule.d.ts +0 -2
- package/dist/for-angular/engine/NgxFormService.d.ts +0 -119
- package/dist/for-angular/engine/NgxRenderingEngine.d.ts +0 -18
- package/dist/for-angular/engine/ValidatorFactory.d.ts +0 -4
- package/dist/for-angular/engine/constants.d.ts +0 -13
- package/dist/for-angular/engine/decorators.d.ts +0 -1
- package/dist/for-angular/engine/index.d.ts +0 -5
- package/dist/for-angular/engine/types.d.ts +0 -44
- package/dist/for-angular/esm2022/components/decaf-crud-field/decaf-crud-field.component.mjs +0 -129
- package/dist/for-angular/esm2022/components/decaf-crud-form/constants.mjs +0 -14
- package/dist/for-angular/esm2022/components/decaf-crud-form/decaf-crud-form.component.mjs +0 -80
- package/dist/for-angular/esm2022/components/decaf-crud-form/types.mjs +0 -2
- package/dist/for-angular/esm2022/components/decaf-model-renderer/decaf-model-renderer.component.mjs +0 -47
- package/dist/for-angular/esm2022/engine/DynamicModule.mjs +0 -3
- package/dist/for-angular/esm2022/engine/NgxCrudFormField.mjs +0 -115
- package/dist/for-angular/esm2022/engine/NgxFormService.mjs +0 -235
- package/dist/for-angular/esm2022/engine/NgxRenderingEngine.mjs +0 -84
- package/dist/for-angular/esm2022/engine/ValidatorFactory.mjs +0 -48
- package/dist/for-angular/esm2022/engine/constants.mjs +0 -15
- package/dist/for-angular/esm2022/engine/decorators.mjs +0 -14
- package/dist/for-angular/esm2022/engine/index.mjs +0 -6
- package/dist/for-angular/esm2022/engine/types.mjs +0 -2
- package/dist/for-angular/esm2022/interfaces.mjs +0 -2
- package/dist/for-angular/esm2022/public-apis.mjs +0 -6
- package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs +0 -759
- package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs.map +0 -1
- package/dist/for-angular/interfaces.d.ts +0 -8
- package/dist/for-angular/public-apis.d.ts +0 -5
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { OperationKeys, } from '@decaf-ts/db-decorators';
|
|
2
|
-
import { NgxFormService } from './NgxFormService';
|
|
3
|
-
import { sf } from '@decaf-ts/decorator-validation';
|
|
4
|
-
/**
|
|
5
|
-
* @class NgxCrudFormField
|
|
6
|
-
* @implements {CrudFormField<AngularFieldDefinition>}
|
|
7
|
-
* @implements {ControlValueAccessor}
|
|
8
|
-
* @summary Abstract class representing a CRUD form field for Angular applications
|
|
9
|
-
* @description This class provides the base implementation for CRUD form fields in Angular,
|
|
10
|
-
* implementing both CrudFormField and ControlValueAccessor interfaces.
|
|
11
|
-
*/
|
|
12
|
-
export class NgxCrudFormField {
|
|
13
|
-
constructor() {
|
|
14
|
-
/**
|
|
15
|
-
* @summary String formatting function
|
|
16
|
-
* @description Provides access to the sf function for error message formatting
|
|
17
|
-
*/
|
|
18
|
-
this.sf = sf;
|
|
19
|
-
/**
|
|
20
|
-
* @summary Change callback function
|
|
21
|
-
* @description Function called when the field value changes
|
|
22
|
-
*/
|
|
23
|
-
this.onChange = () => { };
|
|
24
|
-
/**
|
|
25
|
-
* @summary Touch callback function
|
|
26
|
-
* @description Function called when the field is touched
|
|
27
|
-
*/
|
|
28
|
-
this.onTouch = () => { };
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* @summary Write value to the field
|
|
32
|
-
* @description Sets the value of the field
|
|
33
|
-
* @param {string} obj - The value to be set
|
|
34
|
-
*/
|
|
35
|
-
writeValue(obj) {
|
|
36
|
-
this.value = obj;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* @summary Register change callback
|
|
40
|
-
* @description Registers a function to be called when the field value changes
|
|
41
|
-
* @param {() => unknown} fn - The function to be called on change
|
|
42
|
-
*/
|
|
43
|
-
registerOnChange(fn) {
|
|
44
|
-
this.onChange = fn;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* @summary Register touch callback
|
|
48
|
-
* @description Registers a function to be called when the field is touched
|
|
49
|
-
* @param {() => unknown} fn - The function to be called on touch
|
|
50
|
-
*/
|
|
51
|
-
registerOnTouched(fn) {
|
|
52
|
-
this.onTouch = fn;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @summary Set disabled state
|
|
56
|
-
* @description Sets the disabled state of the field
|
|
57
|
-
* @param {boolean} isDisabled - Whether the field should be disabled
|
|
58
|
-
*/
|
|
59
|
-
setDisabledState(isDisabled) {
|
|
60
|
-
this.disabled = isDisabled;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* @summary After view initialization logic
|
|
64
|
-
* @description Performs necessary setup after the view has been initialized
|
|
65
|
-
* @returns {HTMLElement} The parent element of the field
|
|
66
|
-
*/
|
|
67
|
-
afterViewInit() {
|
|
68
|
-
let parent;
|
|
69
|
-
switch (this.operation) {
|
|
70
|
-
case OperationKeys.CREATE:
|
|
71
|
-
case OperationKeys.UPDATE:
|
|
72
|
-
case OperationKeys.DELETE:
|
|
73
|
-
try {
|
|
74
|
-
parent = NgxFormService.getParentEl(this.component.nativeElement, 'div');
|
|
75
|
-
}
|
|
76
|
-
catch (e) {
|
|
77
|
-
throw new Error(`Unable to retrieve parent form element for the ${this.operation}: ${e instanceof Error ? e.message : e}`);
|
|
78
|
-
}
|
|
79
|
-
NgxFormService.register(parent.id, this.formGroup, this);
|
|
80
|
-
return parent;
|
|
81
|
-
default:
|
|
82
|
-
throw new Error(`Invalid operation: ${this.operation}`);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* @summary Cleanup on component destruction
|
|
87
|
-
* @description Unregisters the field when the component is destroyed
|
|
88
|
-
*/
|
|
89
|
-
onDestroy() {
|
|
90
|
-
if (this.parent)
|
|
91
|
-
NgxFormService.unregister(this.parent.id, this.component.nativeElement);
|
|
92
|
-
}
|
|
93
|
-
/**
|
|
94
|
-
* @summary Initialize the field
|
|
95
|
-
* @description Sets up the form group and field name
|
|
96
|
-
* @param {FieldUpdateMode} updateOn - The update mode for the field
|
|
97
|
-
*/
|
|
98
|
-
onInit(updateOn) {
|
|
99
|
-
this.formGroup = NgxFormService.fromProps(this, updateOn);
|
|
100
|
-
}
|
|
101
|
-
/**
|
|
102
|
-
* @summary Get field errors
|
|
103
|
-
* @description Retrieves all errors associated with the field
|
|
104
|
-
* @returns {{key: string, message: string}[]} An array of error objects
|
|
105
|
-
*/
|
|
106
|
-
getErrors() {
|
|
107
|
-
return Object.entries(this.formGroup.controls).reduce((accum, [prop, control]) => {
|
|
108
|
-
Object.entries(control.errors).forEach(([k, c]) => {
|
|
109
|
-
accum.push({ key: k, message: k });
|
|
110
|
-
});
|
|
111
|
-
return accum;
|
|
112
|
-
}, []);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4Q3J1ZEZvcm1GaWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL05neENydWRGb3JtRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUEsT0FBTyxFQUdMLGFBQWEsR0FDZCxNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFHcEQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sT0FBZ0IsZ0JBQWdCO0lBQXRDO1FBK0NFOzs7V0FHRztRQUNILE9BQUUsR0FBRyxFQUFFLENBQUM7UUFFUjs7O1dBR0c7UUFDSCxhQUFRLEdBQWtCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUVuQzs7O1dBR0c7UUFDSCxZQUFPLEdBQWtCLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQTBHcEMsQ0FBQztJQXhHQzs7OztPQUlHO0lBQ0gsVUFBVSxDQUFDLEdBQVc7UUFDcEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxnQkFBZ0IsQ0FBQyxFQUFpQjtRQUNoQyxJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGlCQUFpQixDQUFDLEVBQWlCO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUUsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7SUFDN0IsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxhQUFhO1FBQ1gsSUFBSSxNQUFtQixDQUFDO1FBQ3hCLFFBQVEsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3ZCLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUMxQixLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDMUIsS0FBSyxhQUFhLENBQUMsTUFBTTtnQkFDdkIsSUFBSSxDQUFDO29CQUNILE1BQU0sR0FBRyxjQUFjLENBQUMsV0FBVyxDQUNqQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFDNUIsS0FBSyxDQUNOLENBQUM7Z0JBQ0osQ0FBQztnQkFBQyxPQUFPLENBQVUsRUFBRSxDQUFDO29CQUNwQixNQUFNLElBQUksS0FBSyxDQUNiLGtEQUFrRCxJQUFJLENBQUMsU0FBUyxLQUFLLENBQUMsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUMxRyxDQUFDO2dCQUNKLENBQUM7Z0JBQ0QsY0FBYyxDQUFDLFFBQVEsQ0FDckIsTUFBTSxDQUFDLEVBQUUsRUFDVCxJQUFJLENBQUMsU0FBUyxFQUNkLElBQThCLENBQy9CLENBQUM7Z0JBQ0YsT0FBTyxNQUFNLENBQUM7WUFDaEI7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNILENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTO1FBQ1AsSUFBSSxJQUFJLENBQUMsTUFBTTtZQUNiLGNBQWMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxRQUF5QjtRQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzVELENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsU0FBUztRQUNQLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sQ0FDbkQsQ0FBQyxLQUF5QyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBaUMsQ0FBQyxDQUFDLE9BQU8sQ0FDL0QsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNULEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3JDLENBQUMsQ0FDRixDQUFDO1lBQ0YsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQ0QsRUFBRSxDQUNILENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcnVkRm9ybUZpZWxkLCBGaWVsZFByb3BlcnRpZXMgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQge1xuICBBbmd1bGFyRmllbGREZWZpbml0aW9uLFxuICBGaWVsZFVwZGF0ZU1vZGUsXG4gIFBvc3NpYmxlSW5wdXRUeXBlcyxcbiAgUmFkaW9PcHRpb24sXG4gIFNlbGVjdE9wdGlvbixcbn0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQge1xuICBDcnVkT3BlcmF0aW9ucyxcbiAgSW50ZXJuYWxFcnJvcixcbiAgT3BlcmF0aW9uS2V5cyxcbn0gZnJvbSAnQGRlY2FmLXRzL2RiLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEVsZW1lbnRSZWYsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hGb3JtU2VydmljZSB9IGZyb20gJy4vTmd4Rm9ybVNlcnZpY2UnO1xuaW1wb3J0IHsgc2YgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQXV0b2NvbXBsZXRlVHlwZXMsIFNlbGVjdEludGVyZmFjZSB9IGZyb20gJ0Bpb25pYy9jb3JlJztcblxuLyoqXG4gKiBAY2xhc3MgTmd4Q3J1ZEZvcm1GaWVsZFxuICogQGltcGxlbWVudHMge0NydWRGb3JtRmllbGQ8QW5ndWxhckZpZWxkRGVmaW5pdGlvbj59XG4gKiBAaW1wbGVtZW50cyB7Q29udHJvbFZhbHVlQWNjZXNzb3J9XG4gKiBAc3VtbWFyeSBBYnN0cmFjdCBjbGFzcyByZXByZXNlbnRpbmcgYSBDUlVEIGZvcm0gZmllbGQgZm9yIEFuZ3VsYXIgYXBwbGljYXRpb25zXG4gKiBAZGVzY3JpcHRpb24gVGhpcyBjbGFzcyBwcm92aWRlcyB0aGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBmb3IgQ1JVRCBmb3JtIGZpZWxkcyBpbiBBbmd1bGFyLFxuICogaW1wbGVtZW50aW5nIGJvdGggQ3J1ZEZvcm1GaWVsZCBhbmQgQ29udHJvbFZhbHVlQWNjZXNzb3IgaW50ZXJmYWNlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5neENydWRGb3JtRmllbGRcbiAgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRmllbGRQcm9wZXJ0aWVzXG57XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCdzIGVsZW1lbnRcbiAgICogQGRlc2NyaXB0aW9uIEVsZW1lbnRSZWYgcmVwcmVzZW50aW5nIHRoZSBjb21wb25lbnQncyBuYXRpdmUgZWxlbWVudFxuICAgKi9cbiAgY29tcG9uZW50ITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQHN1bW1hcnkgQ3VycmVudCBDUlVEIG9wZXJhdGlvblxuICAgKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyB0aGUgY3VycmVudCBDUlVEIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWRcbiAgICovXG4gIG9wZXJhdGlvbiE6IENydWRPcGVyYXRpb25zO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBGb3JtIGdyb3VwIGZvciB0aGUgZmllbGRcbiAgICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgRm9ybUdyb3VwIGluc3RhbmNlIGZvciB0aGUgZmllbGRcbiAgICovXG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICBuYW1lITogc3RyaW5nO1xuXG4gIHR5cGUhOiBQb3NzaWJsZUlucHV0VHlwZXM7XG5cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8vIFZhbGlkYXRpb25cblxuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIGhpZGRlbj86IGJvb2xlYW47XG4gIG1heD86IG51bWJlciB8IERhdGU7XG4gIG1heGxlbmd0aD86IG51bWJlcjtcbiAgbWluPzogbnVtYmVyIHwgRGF0ZTtcbiAgbWlubGVuZ3RoPzogbnVtYmVyO1xuICBwYXR0ZXJuPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIHJlcXVpcmVkPzogYm9vbGVhbjtcbiAgc3RlcD86IG51bWJlcjtcblxuICB2YWx1ZSE6IHN0cmluZyB8IG51bWJlciB8IERhdGU7XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBQYXJlbnQgSFRNTCBlbGVtZW50XG4gICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBIVE1MIGVsZW1lbnQgb2YgdGhlIGZpZWxkXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyZW50PzogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFN0cmluZyBmb3JtYXR0aW5nIGZ1bmN0aW9uXG4gICAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHNmIGZ1bmN0aW9uIGZvciBlcnJvciBtZXNzYWdlIGZvcm1hdHRpbmdcbiAgICovXG4gIHNmID0gc2Y7XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENoYW5nZSBjYWxsYmFjayBmdW5jdGlvblxuICAgKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGZpZWxkIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIG9uQ2hhbmdlOiAoKSA9PiB1bmtub3duID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFRvdWNoIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgZmllbGQgaXMgdG91Y2hlZFxuICAgKi9cbiAgb25Ub3VjaDogKCkgPT4gdW5rbm93biA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBXcml0ZSB2YWx1ZSB0byB0aGUgZmllbGRcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBmaWVsZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gb2JqIC0gVGhlIHZhbHVlIHRvIGJlIHNldFxuICAgKi9cbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmVnaXN0ZXIgY2hhbmdlIGNhbGxiYWNrXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgYSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZmllbGQgdmFsdWUgY2hhbmdlc1xuICAgKiBAcGFyYW0geygpID0+IHVua25vd259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBvbiBjaGFuZ2VcbiAgICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmVnaXN0ZXIgdG91Y2ggY2FsbGJhY2tcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBmaWVsZCBpcyB0b3VjaGVkXG4gICAqIEBwYXJhbSB7KCkgPT4gdW5rbm93bn0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uIHRvdWNoXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFNldCBkaXNhYmxlZCBzdGF0ZVxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGZpZWxkXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNEaXNhYmxlZCAtIFdoZXRoZXIgdGhlIGZpZWxkIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IEFmdGVyIHZpZXcgaW5pdGlhbGl6YXRpb24gbG9naWNcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIG5lY2Vzc2FyeSBzZXR1cCBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9IFRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgZmllbGRcbiAgICovXG4gIGFmdGVyVmlld0luaXQoKTogSFRNTEVsZW1lbnQge1xuICAgIGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50O1xuICAgIHN3aXRjaCAodGhpcy5vcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uS2V5cy5DUkVBVEU6XG4gICAgICBjYXNlIE9wZXJhdGlvbktleXMuVVBEQVRFOlxuICAgICAgY2FzZSBPcGVyYXRpb25LZXlzLkRFTEVURTpcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBwYXJlbnQgPSBOZ3hGb3JtU2VydmljZS5nZXRQYXJlbnRFbChcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnZGl2JyxcbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlOiB1bmtub3duKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYFVuYWJsZSB0byByZXRyaWV2ZSBwYXJlbnQgZm9ybSBlbGVtZW50IGZvciB0aGUgJHt0aGlzLm9wZXJhdGlvbn06ICR7ZSBpbnN0YW5jZW9mIEVycm9yID8gZS5tZXNzYWdlIDogZX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgTmd4Rm9ybVNlcnZpY2UucmVnaXN0ZXIoXG4gICAgICAgICAgcGFyZW50LmlkLFxuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLFxuICAgICAgICAgIHRoaXMgYXMgQW5ndWxhckZpZWxkRGVmaW5pdGlvbixcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBvcGVyYXRpb246ICR7dGhpcy5vcGVyYXRpb259YCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENsZWFudXAgb24gY29tcG9uZW50IGRlc3RydWN0aW9uXG4gICAqIEBkZXNjcmlwdGlvbiBVbnJlZ2lzdGVycyB0aGUgZmllbGQgd2hlbiB0aGUgY29tcG9uZW50IGlzIGRlc3Ryb3llZFxuICAgKi9cbiAgb25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnBhcmVudClcbiAgICAgIE5neEZvcm1TZXJ2aWNlLnVucmVnaXN0ZXIodGhpcy5wYXJlbnQuaWQsIHRoaXMuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IEluaXRpYWxpemUgdGhlIGZpZWxkXG4gICAqIEBkZXNjcmlwdGlvbiBTZXRzIHVwIHRoZSBmb3JtIGdyb3VwIGFuZCBmaWVsZCBuYW1lXG4gICAqIEBwYXJhbSB7RmllbGRVcGRhdGVNb2RlfSB1cGRhdGVPbiAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZpZWxkXG4gICAqL1xuICBvbkluaXQodXBkYXRlT246IEZpZWxkVXBkYXRlTW9kZSk6IHZvaWQge1xuICAgIHRoaXMuZm9ybUdyb3VwID0gTmd4Rm9ybVNlcnZpY2UuZnJvbVByb3BzKHRoaXMsIHVwZGF0ZU9uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBHZXQgZmllbGQgZXJyb3JzXG4gICAqIEBkZXNjcmlwdGlvbiBSZXRyaWV2ZXMgYWxsIGVycm9ycyBhc3NvY2lhdGVkIHdpdGggdGhlIGZpZWxkXG4gICAqIEByZXR1cm5zIHt7a2V5OiBzdHJpbmcsIG1lc3NhZ2U6IHN0cmluZ31bXX0gQW4gYXJyYXkgb2YgZXJyb3Igb2JqZWN0c1xuICAgKi9cbiAgZ2V0RXJyb3JzKCk6IHsga2V5OiBzdHJpbmc7IG1lc3NhZ2U6IHN0cmluZyB9W10ge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyh0aGlzLmZvcm1Hcm91cC5jb250cm9scykucmVkdWNlKFxuICAgICAgKGFjY3VtOiB7IGtleTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdLCBbcHJvcCwgY29udHJvbF0pID0+IHtcbiAgICAgICAgT2JqZWN0LmVudHJpZXMoY29udHJvbC5lcnJvcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4pLmZvckVhY2goXG4gICAgICAgICAgKFtrLCBjXSkgPT4ge1xuICAgICAgICAgICAgYWNjdW0ucHVzaCh7IGtleTogaywgbWVzc2FnZTogayB9KTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gYWNjdW07XG4gICAgICB9LFxuICAgICAgW10sXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,235 +0,0 @@
|
|
|
1
|
-
import { escapeHtml, HTML5CheckTypes, HTML5InputTypes, parseToNumber, } from '@decaf-ts/ui-decorators';
|
|
2
|
-
import { FormControl, FormGroup, Validators, } from '@angular/forms';
|
|
3
|
-
import { Validation } from '@decaf-ts/decorator-validation';
|
|
4
|
-
import { AngularEngineKeys } from './constants';
|
|
5
|
-
import { ValidatorFactory } from './ValidatorFactory';
|
|
6
|
-
/**
|
|
7
|
-
* @summary Service for managing Angular forms and form controls.
|
|
8
|
-
* @description
|
|
9
|
-
* The NgxFormService provides utility methods for handling form initialization,
|
|
10
|
-
* validation, data retrieval, and form control management in Angular applications.
|
|
11
|
-
* It offers a centralized way to manage form controls, perform validations, and
|
|
12
|
-
* handle form-related operations.
|
|
13
|
-
*/
|
|
14
|
-
export class NgxFormService {
|
|
15
|
-
/**
|
|
16
|
-
* @summary Storage for form controls.
|
|
17
|
-
* @description
|
|
18
|
-
* A static object that stores form controls indexed by form ID and field name.
|
|
19
|
-
* @type {Record<string, Record<string, { control: FormGroup; props: AngularFieldDefinition }>>}
|
|
20
|
-
*/
|
|
21
|
-
static { this.controls = {}; }
|
|
22
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
23
|
-
constructor() { }
|
|
24
|
-
/**
|
|
25
|
-
* Initializes the form after the view has been initialized.
|
|
26
|
-
* This method sets up the form controls and creates a FormGroup.
|
|
27
|
-
*
|
|
28
|
-
* @param el - The form element to initialize.
|
|
29
|
-
* @param formId - The unique identifier for the form.
|
|
30
|
-
* @param formUpdateMode - The update mode for the form. Defaults to 'blur'.
|
|
31
|
-
*/
|
|
32
|
-
/**
|
|
33
|
-
* @summary Initializes the form after view initialization.
|
|
34
|
-
* @description
|
|
35
|
-
* Sets up form controls and creates a FormGroup for the given form element.
|
|
36
|
-
*
|
|
37
|
-
* @param {FormElement} el - The form element to initialize.
|
|
38
|
-
* @param {string} formId - The unique identifier for the form.
|
|
39
|
-
* @param {FieldUpdateMode} [formUpdateMode='blur'] - The update mode for the form.
|
|
40
|
-
*/
|
|
41
|
-
static formAfterViewInit(el, formId, formUpdateMode = 'blur') {
|
|
42
|
-
const selector = `*[${AngularEngineKeys.NG_REFLECT}name]`;
|
|
43
|
-
const elements = Array.from(el.component.nativeElement.querySelectorAll(selector));
|
|
44
|
-
const controls = elements.map((f) => {
|
|
45
|
-
const fieldName = f
|
|
46
|
-
.attributes[`${AngularEngineKeys.NG_REFLECT}name`].value;
|
|
47
|
-
const control = NgxFormService.getFieldByName(formId, fieldName);
|
|
48
|
-
return control.control;
|
|
49
|
-
});
|
|
50
|
-
el.formGroup = new FormGroup(controls, {
|
|
51
|
-
updateOn: formUpdateMode,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* @summary Handles form component destruction.
|
|
56
|
-
* @description
|
|
57
|
-
* Unregisters the form from the service when the component is destroyed.
|
|
58
|
-
*
|
|
59
|
-
* @param {FormElement} el - The form element being destroyed.
|
|
60
|
-
* @param {string} formId - The unique identifier of the form to unregister.
|
|
61
|
-
*/
|
|
62
|
-
static forOnDestroy(el, formId) {
|
|
63
|
-
NgxFormService.unregister(formId, el.component.nativeElement);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* @summary Retrieves form data for a given form ID.
|
|
67
|
-
* @description
|
|
68
|
-
* Processes form controls and returns their values as an object.
|
|
69
|
-
*
|
|
70
|
-
* @param {string} formId - The unique identifier of the form to retrieve data from.
|
|
71
|
-
* @returns {Record<string, unknown>} An object containing the form data.
|
|
72
|
-
* @throws {Error} If the form with the given ID is not found.
|
|
73
|
-
*/
|
|
74
|
-
static getFormData(formId) {
|
|
75
|
-
if (!(formId in this.controls))
|
|
76
|
-
throw new Error(`form ${formId} not found`);
|
|
77
|
-
const form = this.controls[formId];
|
|
78
|
-
let control;
|
|
79
|
-
let val;
|
|
80
|
-
const data = {};
|
|
81
|
-
for (const key in form) {
|
|
82
|
-
control = form[key].control;
|
|
83
|
-
if (!HTML5CheckTypes.includes(form[key].props.type)) {
|
|
84
|
-
switch (form[key].props.type) {
|
|
85
|
-
case HTML5InputTypes.NUMBER:
|
|
86
|
-
val = parseToNumber(control.value);
|
|
87
|
-
break;
|
|
88
|
-
case HTML5InputTypes.DATE:
|
|
89
|
-
case HTML5InputTypes.DATETIME_LOCAL:
|
|
90
|
-
val = new Date(control.value[key]);
|
|
91
|
-
break;
|
|
92
|
-
default:
|
|
93
|
-
val = escapeHtml(control.value[key]);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
else {
|
|
97
|
-
val = control.value;
|
|
98
|
-
}
|
|
99
|
-
data[key] = val;
|
|
100
|
-
}
|
|
101
|
-
return data;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* @summary Validates form fields.
|
|
105
|
-
* @description
|
|
106
|
-
* Validates either a specific field or all fields in the form group.
|
|
107
|
-
*
|
|
108
|
-
* @param {FormGroup} formGroup - The FormGroup to validate.
|
|
109
|
-
* @param {string} [fieldName] - Optional name of a specific field to validate.
|
|
110
|
-
* @returns {boolean} Indicates whether the validation passed (true) or failed (false).
|
|
111
|
-
*/
|
|
112
|
-
static validateFields(formGroup, fieldName) {
|
|
113
|
-
function isValid(formGroup, fieldName) {
|
|
114
|
-
const control = formGroup.get(fieldName);
|
|
115
|
-
if (control instanceof FormControl) {
|
|
116
|
-
control.markAsTouched();
|
|
117
|
-
control.markAsDirty();
|
|
118
|
-
return !control.invalid;
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
throw new Error('This should be impossible');
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
if (fieldName)
|
|
125
|
-
return isValid(formGroup, fieldName);
|
|
126
|
-
let isValidForm = true;
|
|
127
|
-
for (const fg of formGroup.controls) {
|
|
128
|
-
for (const key in fg.controls) {
|
|
129
|
-
const validate = isValid(fg, key);
|
|
130
|
-
if (!validate)
|
|
131
|
-
isValidForm = false;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return isValidForm;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* @summary Creates a FormGroup from field properties.
|
|
138
|
-
* @description
|
|
139
|
-
* Generates a new FormGroup instance based on the provided field definition and update mode.
|
|
140
|
-
*
|
|
141
|
-
* @param {AngularFieldDefinition} props - The Angular field definition properties.
|
|
142
|
-
* @param {FieldUpdateMode} updateMode - The update mode for the form group.
|
|
143
|
-
* @returns {FormGroup} A new FormGroup instance.
|
|
144
|
-
*/
|
|
145
|
-
static fromProps(props, updateMode) {
|
|
146
|
-
const controls = {};
|
|
147
|
-
const validators = this.validatorsFromProps(props);
|
|
148
|
-
const composed = validators.length ? Validators.compose(validators) : null;
|
|
149
|
-
controls[props.name] = new FormControl({
|
|
150
|
-
value: props.value && props.type !== HTML5InputTypes.CHECKBOX
|
|
151
|
-
? props.value
|
|
152
|
-
: undefined,
|
|
153
|
-
disabled: props.disabled,
|
|
154
|
-
}, composed);
|
|
155
|
-
return new FormGroup(controls, { updateOn: updateMode });
|
|
156
|
-
}
|
|
157
|
-
/**
|
|
158
|
-
* Retrieves a form by its ID from the stored controls.
|
|
159
|
-
*
|
|
160
|
-
* @param id - The unique identifier of the form to retrieve.
|
|
161
|
-
* @returns The form controls associated with the given ID.
|
|
162
|
-
* @throws Error if the form with the given ID is not found.
|
|
163
|
-
*/
|
|
164
|
-
static getFormById(id) {
|
|
165
|
-
if (!(id in NgxFormService.controls))
|
|
166
|
-
throw new Error(`Could not find formId ${id}`);
|
|
167
|
-
return NgxFormService.controls[id];
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Retrieves a specific field from a form by its name.
|
|
171
|
-
*
|
|
172
|
-
* @param formId - The unique identifier of the form.
|
|
173
|
-
* @param name - The name of the field to retrieve.
|
|
174
|
-
* @returns The field control and properties.
|
|
175
|
-
* @throws Error if the field is not found in the form.
|
|
176
|
-
*/
|
|
177
|
-
static getFieldByName(formId, name) {
|
|
178
|
-
const form = NgxFormService.getFormById(formId);
|
|
179
|
-
if (!(name in form))
|
|
180
|
-
throw new Error(`Could not find field ${name} in form`);
|
|
181
|
-
return form[name];
|
|
182
|
-
}
|
|
183
|
-
/**
|
|
184
|
-
* Generates an array of validator functions from the provided field properties.
|
|
185
|
-
*
|
|
186
|
-
* @param props - The field properties containing validation rules.
|
|
187
|
-
* @returns An array of ValidatorFn instances.
|
|
188
|
-
*/
|
|
189
|
-
static validatorsFromProps(props) {
|
|
190
|
-
const supportedValidationKeys = Validation.keys();
|
|
191
|
-
return Object.keys(props)
|
|
192
|
-
.filter((k) => supportedValidationKeys.includes(k))
|
|
193
|
-
.map((k) => ValidatorFactory.spawn(k, props[k]));
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
*
|
|
197
|
-
* @param el
|
|
198
|
-
* @param tag
|
|
199
|
-
*
|
|
200
|
-
* @throws {Error} when no parent exists with the provided tag
|
|
201
|
-
*/
|
|
202
|
-
static getParentEl(el, tag) {
|
|
203
|
-
let parent;
|
|
204
|
-
while ((parent = el.parentElement) !== null) {
|
|
205
|
-
if (parent.tagName.toLowerCase() === tag.toLowerCase()) {
|
|
206
|
-
return parent;
|
|
207
|
-
}
|
|
208
|
-
el = parent;
|
|
209
|
-
}
|
|
210
|
-
throw new Error(`No parent with the tag ${tag} was found for provided element`);
|
|
211
|
-
}
|
|
212
|
-
static register(formId, control, props) {
|
|
213
|
-
if (formId.includes(AngularEngineKeys.RENDERED)) {
|
|
214
|
-
formId = formId.split(AngularEngineKeys.RENDERED)[1];
|
|
215
|
-
}
|
|
216
|
-
this.controls[formId] = this.controls[formId] || {};
|
|
217
|
-
this.controls[formId][props.name] = {
|
|
218
|
-
control: control,
|
|
219
|
-
props: props,
|
|
220
|
-
};
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Unregisters a form or a specific field from the service.
|
|
224
|
-
*
|
|
225
|
-
* @param formId - The unique identifier of the form.
|
|
226
|
-
* @param field - Optional. The specific field to unregister. If not provided, the entire form is unregistered.
|
|
227
|
-
*/
|
|
228
|
-
static unregister(formId, field) {
|
|
229
|
-
if (!field)
|
|
230
|
-
delete this.controls[formId];
|
|
231
|
-
else
|
|
232
|
-
delete this.controls[formId][field.name];
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4Rm9ybVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9OZ3hGb3JtU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUVWLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekI7Ozs7O09BS0c7YUFDWSxhQUFRLEdBU25CLEVBQUUsQ0FBQztJQUVQLGdFQUFnRTtJQUNoRSxnQkFBdUIsQ0FBQztJQUV4Qjs7Ozs7OztPQU9HO0lBQ0g7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQ3RCLEVBQWUsRUFDZixNQUFjLEVBQ2QsaUJBQWtDLE1BQU07UUFFeEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLE9BQU8sQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN6QixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FDdEQsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFNBQVMsR0FBSSxDQUF1RDtpQkFDdkUsVUFBVSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxNQUFNLENBQUMs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QyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEtBQUssR0FBRyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZELE9BQU8sTUFBTSxDQUFDO1lBQ2hCLENBQUM7WUFDRCxFQUFFLEdBQUcsTUFBTSxDQUFDO1FBQ2QsQ0FBQztRQUNELE1BQU0sSUFBSSxLQUFLLENBQ2IsMEJBQTBCLEdBQUcsaUNBQWlDLENBQy9ELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FDYixNQUFjLEVBQ2QsT0FBa0IsRUFDbEIsS0FBNkI7UUFFN0IsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDaEQsTUFBTSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbEMsT0FBTyxFQUFFLE9BQU87WUFDaEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjLEVBQUUsS0FBbUI7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7O1lBRXZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxLQUFxQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBlc2NhcGVIdG1sLFxuICBGaWVsZFByb3BlcnRpZXMsXG4gIEhUTUw1Q2hlY2tUeXBlcyxcbiAgSFRNTDVJbnB1dFR5cGVzLFxuICBwYXJzZVRvTnVtYmVyLFxufSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBbmd1bGFyRmllbGREZWZpbml0aW9uLCBGaWVsZFVwZGF0ZU1vZGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQW5ndWxhckVuZ2luZUtleXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRmFjdG9yeSB9IGZyb20gJy4vVmFsaWRhdG9yRmFjdG9yeSc7XG5cbi8qKlxuICogQHN1bW1hcnkgU2VydmljZSBmb3IgbWFuYWdpbmcgQW5ndWxhciBmb3JtcyBhbmQgZm9ybSBjb250cm9scy5cbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIE5neEZvcm1TZXJ2aWNlIHByb3ZpZGVzIHV0aWxpdHkgbWV0aG9kcyBmb3IgaGFuZGxpbmcgZm9ybSBpbml0aWFsaXphdGlvbixcbiAqIHZhbGlkYXRpb24sIGRhdGEgcmV0cmlldmFsLCBhbmQgZm9ybSBjb250cm9sIG1hbmFnZW1lbnQgaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKiBJdCBvZmZlcnMgYSBjZW50cmFsaXplZCB3YXkgdG8gbWFuYWdlIGZvcm0gY29udHJvbHMsIHBlcmZvcm0gdmFsaWRhdGlvbnMsIGFuZFxuICogaGFuZGxlIGZvcm0tcmVsYXRlZCBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgTmd4Rm9ybVNlcnZpY2Uge1xuICAvKipcbiAgICogQHN1bW1hcnkgU3RvcmFnZSBmb3IgZm9ybSBjb250cm9scy5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgc3RhdGljIG9iamVjdCB0aGF0IHN0b3JlcyBmb3JtIGNvbnRyb2xzIGluZGV4ZWQgYnkgZm9ybSBJRCBhbmQgZmllbGQgbmFtZS5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHsgY29udHJvbDogRm9ybUdyb3VwOyBwcm9wczogQW5ndWxhckZpZWxkRGVmaW5pdGlvbiB9Pj59XG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBjb250cm9sczogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICB7XG4gICAgICAgIGNvbnRyb2w6IEZvcm1Hcm91cDtcbiAgICAgICAgcHJvcHM6IEFuZ3VsYXJGaWVsZERlZmluaXRpb247XG4gICAgICB9XG4gICAgPlxuICA+ID0ge307XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGZvcm0gYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGhlIGZvcm0gY29udHJvbHMgYW5kIGNyZWF0ZXMgYSBGb3JtR3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICogQHBhcmFtIGZvcm1JZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSBmb3JtVXBkYXRlTW9kZSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0uIERlZmF1bHRzIHRvICdibHVyJy5cbiAgICovXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyB0aGUgZm9ybSBhZnRlciB2aWV3IGluaXRpYWxpemF0aW9uLlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB1cCBmb3JtIGNvbnRyb2xzIGFuZCBjcmVhdGVzIGEgRm9ybUdyb3VwIGZvciB0aGUgZ2l2ZW4gZm9ybSBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge0Zvcm1FbGVtZW50fSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1JZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSB7RmllbGRVcGRhdGVNb2RlfSBbZm9ybVVwZGF0ZU1vZGU9J2JsdXInXSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0uXG4gICAqL1xuICBzdGF0aWMgZm9ybUFmdGVyVmlld0luaXQoXG4gICAgZWw6IEZvcm1FbGVtZW50LFxuICAgIGZvcm1JZDogc3RyaW5nLFxuICAgIGZvcm1VcGRhdGVNb2RlOiBGaWVsZFVwZGF0ZU1vZGUgPSAnYmx1cicsXG4gICkge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gYCpbJHtBbmd1bGFyRW5naW5lS2V5cy5OR19SRUZMRUNUfW5hbWVdYDtcbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICBlbC5jb21wb25lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSxcbiAgICApO1xuICAgIGNvbnN0IGNvbnRyb2xzID0gZWxlbWVudHMubWFwKChmOiB1bmtub3duKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSAoZiBhcyB7IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHsgdmFsdWU6IHN0cmluZyB9PiB9KVxuICAgICAgICAuYXR0cmlidXRlc1tgJHtBbmd1bGFyRW5naW5lS2V5cy5OR19SRUZMRUNUfW5hbWVgXS52YWx1ZTtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBOZ3hGb3JtU2VydmljZS5nZXRGaWVsZEJ5TmFtZShmb3JtSWQsIGZpZWxkTmFtZSk7XG4gICAgICByZXR1cm4gY29udHJvbC5jb250cm9sO1xuICAgIH0pO1xuICAgIGVsLmZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHtcbiAgICAgIHVwZGF0ZU9uOiBmb3JtVXBkYXRlTW9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBIYW5kbGVzIGZvcm0gY29tcG9uZW50IGRlc3RydWN0aW9uLlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVW5yZWdpc3RlcnMgdGhlIGZvcm0gZnJvbSB0aGUgc2VydmljZSB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0Zvcm1FbGVtZW50fSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgYmVpbmcgZGVzdHJveWVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtIHRvIHVucmVnaXN0ZXIuXG4gICAqL1xuICBzdGF0aWMgZm9yT25EZXN0cm95KGVsOiBGb3JtRWxlbWVudCwgZm9ybUlkOiBzdHJpbmcpIHtcbiAgICBOZ3hGb3JtU2VydmljZS51bnJlZ2lzdGVyKGZvcm1JZCwgZWwuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBmb3JtIGRhdGEgZm9yIGEgZ2l2ZW4gZm9ybSBJRC5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFByb2Nlc3NlcyBmb3JtIGNvbnRyb2xzIGFuZCByZXR1cm5zIHRoZWlyIHZhbHVlcyBhcyBhbiBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtSWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZvcm0gdG8gcmV0cmlldmUgZGF0YSBmcm9tLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmb3JtIGRhdGEuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZm9ybSB3aXRoIHRoZSBnaXZlbiBJRCBpcyBub3QgZm91bmQuXG4gICAqL1xuICBzdGF0aWMgZ2V0Rm9ybURhdGEoZm9ybUlkOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgaWYgKCEoZm9ybUlkIGluIHRoaXMuY29udHJvbHMpKSB0aHJvdyBuZXcgRXJyb3IoYGZvcm0gJHtmb3JtSWR9IG5vdCBmb3VuZGApO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNvbnRyb2xzW2Zvcm1JZF07XG4gICAgbGV0IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgICBsZXQgdmFsOiB1bmtub3duO1xuICAgIGNvbnN0IGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybSkge1xuICAgICAgY29udHJvbCA9IGZvcm1ba2V5XS5jb250cm9sO1xuICAgICAgaWYgKCFIVE1MNUNoZWNrVHlwZXMuaW5jbHVkZXMoZm9ybVtrZXldLnByb3BzLnR5cGUpKSB7XG4gICAgICAgIHN3aXRjaCAoZm9ybVtrZXldLnByb3BzLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5OVU1CRVI6XG4gICAgICAgICAgICB2YWwgPSBwYXJzZVRvTnVtYmVyKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuREFURTpcbiAgICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFVElNRV9MT0NBTDpcbiAgICAgICAgICAgIHZhbCA9IG5ldyBEYXRlKGNvbnRyb2wudmFsdWVba2V5XSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFsID0gZXNjYXBlSHRtbChjb250cm9sLnZhbHVlW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgfVxuICAgICAgZGF0YVtrZXldID0gdmFsO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgZm9ybSBmaWVsZHMuXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBWYWxpZGF0ZXMgZWl0aGVyIGEgc3BlY2lmaWMgZmllbGQgb3IgYWxsIGZpZWxkcyBpbiB0aGUgZm9ybSBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIHtGb3JtR3JvdXB9IGZvcm1Hcm91cCAtIFRoZSBGb3JtR3JvdXAgdG8gdmFsaWRhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZmllbGROYW1lXSAtIE9wdGlvbmFsIG5hbWUgb2YgYSBzcGVjaWZpYyBmaWVsZCB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IEluZGljYXRlcyB3aGV0aGVyIHRoZSB2YWxpZGF0aW9uIHBhc3NlZCAodHJ1ZSkgb3IgZmFpbGVkIChmYWxzZSkuXG4gICAqL1xuICBzdGF0aWMgdmFsaWRhdGVGaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGZpZWxkTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZ1bmN0aW9uIGlzVmFsaWQoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZE5hbWUpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICByZXR1cm4gIWNvbnRyb2wuaW52YWxpZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgYmUgaW1wb3NzaWJsZScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZE5hbWUpIHJldHVybiBpc1ZhbGlkKGZvcm1Hcm91cCwgZmllbGROYW1lKTtcblxuICAgIGxldCBpc1ZhbGlkRm9ybSA9IHRydWU7XG4gICAgZm9yIChjb25zdCBmZyBvZiBmb3JtR3JvdXAuY29udHJvbHMgYXMgdW5rbm93biBhcyBGb3JtR3JvdXBbXSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZmcuY29udHJvbHMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGUgPSBpc1ZhbGlkKGZnLCBrZXkpO1xuICAgICAgICBpZiAoIXZhbGlkYXRlKSBpc1ZhbGlkRm9ybSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpc1ZhbGlkRm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDcmVhdGVzIGEgRm9ybUdyb3VwIGZyb20gZmllbGQgcHJvcGVydGllcy5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEdlbmVyYXRlcyBhIG5ldyBGb3JtR3JvdXAgaW5zdGFuY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpZWxkIGRlZmluaXRpb24gYW5kIHVwZGF0ZSBtb2RlLlxuICAgKlxuICAgKiBAcGFyYW0ge0FuZ3VsYXJGaWVsZERlZmluaXRpb259IHByb3BzIC0gVGhlIEFuZ3VsYXIgZmllbGQgZGVmaW5pdGlvbiBwcm9wZXJ0aWVzLlxuICAgKiBAcGFyYW0ge0ZpZWxkVXBkYXRlTW9kZX0gdXBkYXRlTW9kZSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0gZ3JvdXAuXG4gICAqIEByZXR1cm5zIHtGb3JtR3JvdXB9IEEgbmV3IEZvcm1Hcm91cCBpbnN0YW5jZS5cbiAgICovXG4gIHN0YXRpYyBmcm9tUHJvcHMoXG4gICAgcHJvcHM6IEZpZWxkUHJvcGVydGllcyxcbiAgICB1cGRhdGVNb2RlOiBGaWVsZFVwZGF0ZU1vZGUsXG4gICk6IEZvcm1Hcm91cCB7XG4gICAgY29uc3QgY29udHJvbHM6IFJlY29yZDxzdHJpbmcsIEZvcm1Db250cm9sPiA9IHt9O1xuICAgIGNvbnN0IHZhbGlkYXRvcnMgPSB0aGlzLnZhbGlkYXRvcnNGcm9tUHJvcHMocHJvcHMpO1xuICAgIGNvbnN0IGNvbXBvc2VkID0gdmFsaWRhdG9ycy5sZW5ndGggPyBWYWxpZGF0b3JzLmNvbXBvc2UodmFsaWRhdG9ycykgOiBudWxsO1xuICAgIGNvbnRyb2xzW3Byb3BzLm5hbWVdID0gbmV3IEZvcm1Db250cm9sKFxuICAgICAge1xuICAgICAgICB2YWx1ZTpcbiAgICAgICAgICBwcm9wcy52YWx1ZSAmJiBwcm9wcy50eXBlICE9PSBIVE1MNUlucHV0VHlwZXMuQ0hFQ0tCT1hcbiAgICAgICAgICAgID8gKHByb3BzLnZhbHVlIGFzIGFueSlcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICBkaXNhYmxlZDogcHJvcHMuZGlzYWJsZWQsXG4gICAgICB9LFxuICAgICAgY29tcG9zZWQsXG4gICAgKTtcblxuICAgIHJldHVybiBuZXcgRm9ybUdyb3VwKGNvbnRyb2xzLCB7IHVwZGF0ZU9uOiB1cGRhdGVNb2RlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGZvcm0gYnkgaXRzIElEIGZyb20gdGhlIHN0b3JlZCBjb250cm9scy5cbiAgICpcbiAgICogQHBhcmFtIGlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtIHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyBUaGUgZm9ybSBjb250cm9scyBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIElELlxuICAgKiBAdGhyb3dzIEVycm9yIGlmIHRoZSBmb3JtIHdpdGggdGhlIGdpdmVuIElEIGlzIG5vdCBmb3VuZC5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldEZvcm1CeUlkKGlkOiBzdHJpbmcpIHtcbiAgICBpZiAoIShpZCBpbiBOZ3hGb3JtU2VydmljZS5jb250cm9scykpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGZvcm1JZCAke2lkfWApO1xuICAgIHJldHVybiBOZ3hGb3JtU2VydmljZS5jb250cm9sc1tpZF07XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGEgc3BlY2lmaWMgZmllbGQgZnJvbSBhIGZvcm0gYnkgaXRzIG5hbWUuXG4gICAqXG4gICAqIEBwYXJhbSBmb3JtSWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGZpZWxkIHRvIHJldHJpZXZlLlxuICAgKiBAcmV0dXJucyBUaGUgZmllbGQgY29udHJvbCBhbmQgcHJvcGVydGllcy5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgZmllbGQgaXMgbm90IGZvdW5kIGluIHRoZSBmb3JtLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0RmllbGRCeU5hbWUoZm9ybUlkOiBzdHJpbmcsIG5hbWU6IHN0cmluZykge1xuICAgIGNvbnN0IGZvcm0gPSBOZ3hGb3JtU2VydmljZS5nZXRGb3JtQnlJZChmb3JtSWQpO1xuICAgIGlmICghKG5hbWUgaW4gZm9ybSkpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGZpZWxkICR7bmFtZX0gaW4gZm9ybWApO1xuICAgIHJldHVybiBmb3JtW25hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhbiBhcnJheSBvZiB2YWxpZGF0b3IgZnVuY3Rpb25zIGZyb20gdGhlIHByb3ZpZGVkIGZpZWxkIHByb3BlcnRpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wcyAtIFRoZSBmaWVsZCBwcm9wZXJ0aWVzIGNvbnRhaW5pbmcgdmFsaWRhdGlvbiBydWxlcy5cbiAgICogQHJldHVybnMgQW4gYXJyYXkgb2YgVmFsaWRhdG9yRm4gaW5zdGFuY2VzLlxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgdmFsaWRhdG9yc0Zyb21Qcm9wcyhwcm9wczogRmllbGRQcm9wZXJ0aWVzKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3Qgc3VwcG9ydGVkVmFsaWRhdGlvbktleXMgPSBWYWxpZGF0aW9uLmtleXMoKTtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMocHJvcHMpXG4gICAgICAuZmlsdGVyKChrOiBzdHJpbmcpID0+IHN1cHBvcnRlZFZhbGlkYXRpb25LZXlzLmluY2x1ZGVzKGspKVxuICAgICAgLm1hcCgoazogc3RyaW5nKSA9PlxuICAgICAgICBWYWxpZGF0b3JGYWN0b3J5LnNwYXduKGssIHByb3BzW2sgYXMga2V5b2YgRmllbGRQcm9wZXJ0aWVzXSksXG4gICAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbFxuICAgKiBAcGFyYW0gdGFnXG4gICAqXG4gICAqIEB0aHJvd3Mge0Vycm9yfSB3aGVuIG5vIHBhcmVudCBleGlzdHMgd2l0aCB0aGUgcHJvdmlkZWQgdGFnXG4gICAqL1xuICBzdGF0aWMgZ2V0UGFyZW50RWwoZWw6IEhUTUxFbGVtZW50LCB0YWc6IHN0cmluZykge1xuICAgIGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICB3aGlsZSAoKHBhcmVudCA9IGVsLnBhcmVudEVsZW1lbnQpICE9PSBudWxsKSB7XG4gICAgICBpZiAocGFyZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gdGFnLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH1cbiAgICAgIGVsID0gcGFyZW50O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgTm8gcGFyZW50IHdpdGggdGhlIHRhZyAke3RhZ30gd2FzIGZvdW5kIGZvciBwcm92aWRlZCBlbGVtZW50YCxcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyKFxuICAgIGZvcm1JZDogc3RyaW5nLFxuICAgIGNvbnRyb2w6IEZvcm1Hcm91cCxcbiAgICBwcm9wczogQW5ndWxhckZpZWxkRGVmaW5pdGlvbixcbiAgKSB7XG4gICAgaWYgKGZvcm1JZC5pbmNsdWRlcyhBbmd1bGFyRW5naW5lS2V5cy5SRU5ERVJFRCkpIHtcbiAgICAgIGZvcm1JZCA9IGZvcm1JZC5zcGxpdChBbmd1bGFyRW5naW5lS2V5cy5SRU5ERVJFRClbMV07XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sc1tmb3JtSWRdID0gdGhpcy5jb250cm9sc1tmb3JtSWRdIHx8IHt9O1xuICAgIHRoaXMuY29udHJvbHNbZm9ybUlkXVtwcm9wcy5uYW1lXSA9IHtcbiAgICAgIGNvbnRyb2w6IGNvbnRyb2wsXG4gICAgICBwcm9wczogcHJvcHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnJlZ2lzdGVycyBhIGZvcm0gb3IgYSBzcGVjaWZpYyBmaWVsZCBmcm9tIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtLlxuICAgKiBAcGFyYW0gZmllbGQgLSBPcHRpb25hbC4gVGhlIHNwZWNpZmljIGZpZWxkIHRvIHVucmVnaXN0ZXIuIElmIG5vdCBwcm92aWRlZCwgdGhlIGVudGlyZSBmb3JtIGlzIHVucmVnaXN0ZXJlZC5cbiAgICovXG4gIHN0YXRpYyB1bnJlZ2lzdGVyKGZvcm1JZDogc3RyaW5nLCBmaWVsZD86IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKCFmaWVsZCkgZGVsZXRlIHRoaXMuY29udHJvbHNbZm9ybUlkXTtcbiAgICBlbHNlXG4gICAgICBkZWxldGUgdGhpcy5jb250cm9sc1tmb3JtSWRdWyhmaWVsZCBhcyB1bmtub3duIGFzIHsgbmFtZTogc3RyaW5nIH0pLm5hbWVdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { RenderingEngine } from '@decaf-ts/ui-decorators';
|
|
2
|
-
import { AngularEngineKeys } from './constants';
|
|
3
|
-
import { InternalError } from '@decaf-ts/db-decorators';
|
|
4
|
-
import { reflectComponentType, } from '@angular/core';
|
|
5
|
-
export class NgxRenderingEngine extends RenderingEngine {
|
|
6
|
-
constructor() {
|
|
7
|
-
super('angular');
|
|
8
|
-
}
|
|
9
|
-
fromFieldDefinition(fieldDef, vcr, injector, tpl) {
|
|
10
|
-
const component = NgxRenderingEngine.components(fieldDef.tag)
|
|
11
|
-
.constructor;
|
|
12
|
-
const componentMetadata = reflectComponentType(component);
|
|
13
|
-
if (!componentMetadata) {
|
|
14
|
-
throw new InternalError(`Metadata for component ${fieldDef.tag} not found.`);
|
|
15
|
-
}
|
|
16
|
-
const inputs = fieldDef.props;
|
|
17
|
-
const possibleInputs = componentMetadata.inputs;
|
|
18
|
-
const inputKeys = Object.keys(inputs);
|
|
19
|
-
for (let input of possibleInputs) {
|
|
20
|
-
const index = inputKeys.indexOf(input.propName);
|
|
21
|
-
if (index !== -1) {
|
|
22
|
-
inputKeys.splice(index, 1);
|
|
23
|
-
}
|
|
24
|
-
if (!inputKeys.length)
|
|
25
|
-
break;
|
|
26
|
-
}
|
|
27
|
-
if (inputKeys.length)
|
|
28
|
-
console.warn(`Unmapped input properties for component ${fieldDef.tag}: ${inputKeys.join(', ')}`);
|
|
29
|
-
const result = {
|
|
30
|
-
component: component,
|
|
31
|
-
inputs: inputs || {},
|
|
32
|
-
injector: injector,
|
|
33
|
-
};
|
|
34
|
-
if (fieldDef.rendererId) {
|
|
35
|
-
result.inputs['rendererId'] =
|
|
36
|
-
fieldDef.rendererId;
|
|
37
|
-
}
|
|
38
|
-
if (fieldDef.children && fieldDef.children.length) {
|
|
39
|
-
result.children = fieldDef.children.map((child) => {
|
|
40
|
-
return this.fromFieldDefinition(child, vcr, injector, tpl);
|
|
41
|
-
});
|
|
42
|
-
const template = vcr.createEmbeddedView(tpl, injector).rootNodes;
|
|
43
|
-
result.content = [template];
|
|
44
|
-
}
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
render(model, globalProps, vcr, injector, tpl) {
|
|
48
|
-
let result;
|
|
49
|
-
try {
|
|
50
|
-
const fieldDef = this.toFieldDefinition(model, globalProps);
|
|
51
|
-
result = this.fromFieldDefinition(fieldDef, vcr, injector, tpl);
|
|
52
|
-
}
|
|
53
|
-
catch (e) {
|
|
54
|
-
throw new InternalError(`Failed to render Model ${model.constructor.name}: ${e}`);
|
|
55
|
-
}
|
|
56
|
-
return result;
|
|
57
|
-
}
|
|
58
|
-
async initialize(...args) {
|
|
59
|
-
if (this.initialized)
|
|
60
|
-
return;
|
|
61
|
-
// ValidatableByType[]
|
|
62
|
-
this.initialized = true;
|
|
63
|
-
}
|
|
64
|
-
static registerComponent(name, constructor) {
|
|
65
|
-
if (!this._components)
|
|
66
|
-
this._components = {};
|
|
67
|
-
if (name in this._components)
|
|
68
|
-
throw new InternalError(`Component already registered under ${name}`);
|
|
69
|
-
this._components[name] = {
|
|
70
|
-
constructor: constructor,
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
static components(selector) {
|
|
74
|
-
if (!selector)
|
|
75
|
-
return Object.values(this._components);
|
|
76
|
-
if (!(selector in this._components))
|
|
77
|
-
throw new InternalError(`No Component registered under ${selector}`);
|
|
78
|
-
return this._components[selector];
|
|
79
|
-
}
|
|
80
|
-
static key(key) {
|
|
81
|
-
return `${AngularEngineKeys.REFLECT}${key}`;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4UmVuZGVyaW5nRW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvTmd4UmVuZGVyaW5nRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUIsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN4RCxPQUFPLEVBRUwsb0JBQW9CLEdBSXJCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUd2QztJQU1DO1FBQ0UsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFTyxtQkFBbUIsQ0FDekIsUUFBaUQsRUFDakQsR0FBcUIsRUFDckIsUUFBa0IsRUFDbEIsR0FBcUI7UUFFckIsTUFBTSxTQUFTLEdBQUcsa0JBQWtCLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7YUFDMUQsV0FBdUMsQ0FBQztRQUUzQyxNQUFNLGlCQUFpQixHQUFHLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3ZCLE1BQU0sSUFBSSxhQUFhLENBQ3JCLDBCQUEwQixRQUFRLENBQUMsR0FBRyxhQUFhLENBQ3BELENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztRQUU5QixNQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUM7UUFDaEQsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QyxLQUFLLElBQUksS0FBSyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sS0FBSyxHQUFHLFNB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QWlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxNQUFNLElBQUksYUFBYSxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFVLEdBQUcsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGREZWZpbml0aW9uLCBSZW5kZXJpbmdFbmdpbmUgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBbmd1bGFyRHluYW1pY091dHB1dCwgQW5ndWxhckZpZWxkRGVmaW5pdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgQW5ndWxhckVuZ2luZUtleXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciwgTW9kZWwgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcbmltcG9ydCB7XG4gIEluamVjdG9yLFxuICByZWZsZWN0Q29tcG9uZW50VHlwZSxcbiAgVGVtcGxhdGVSZWYsXG4gIFR5cGUsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgY2xhc3MgTmd4UmVuZGVyaW5nRW5naW5lIGV4dGVuZHMgUmVuZGVyaW5nRW5naW5lPFxuICBBbmd1bGFyRmllbGREZWZpbml0aW9uLFxuICBBbmd1bGFyRHluYW1pY091dHB1dFxuPiB7XG4gIHByaXZhdGUgc3RhdGljIF9jb21wb25lbnRzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHsgY29uc3RydWN0b3I6IENvbnN0cnVjdG9yPHVua25vd24+IH1cbiAgPjtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcignYW5ndWxhcicpO1xuICB9XG5cbiAgcHJpdmF0ZSBmcm9tRmllbGREZWZpbml0aW9uKFxuICAgIGZpZWxkRGVmOiBGaWVsZERlZmluaXRpb248QW5ndWxhckZpZWxkRGVmaW5pdGlvbj4sXG4gICAgdmNyOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIGluamVjdG9yOiBJbmplY3RvcixcbiAgICB0cGw6IFRlbXBsYXRlUmVmPGFueT4sXG4gICk6IEFuZ3VsYXJEeW5hbWljT3V0cHV0IHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBOZ3hSZW5kZXJpbmdFbmdpbmUuY29tcG9uZW50cyhmaWVsZERlZi50YWcpXG4gICAgICAuY29uc3RydWN0b3IgYXMgdW5rbm93biBhcyBUeXBlPHVua25vd24+O1xuXG4gICAgY29uc3QgY29tcG9uZW50TWV0YWRhdGEgPSByZWZsZWN0Q29tcG9uZW50VHlwZShjb21wb25lbnQpO1xuICAgIGlmICghY29tcG9uZW50TWV0YWRhdGEpIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgTWV0YWRhdGEgZm9yIGNvbXBvbmVudCAke2ZpZWxkRGVmLnRhZ30gbm90IGZvdW5kLmAsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBpbnB1dHMgPSBmaWVsZERlZi5wcm9wcztcblxuICAgIGNvbnN0IHBvc3NpYmxlSW5wdXRzID0gY29tcG9uZW50TWV0YWRhdGEuaW5wdXRzO1xuICAgIGNvbnN0IGlucHV0S2V5cyA9IE9iamVjdC5rZXlzKGlucHV0cyk7XG4gICAgZm9yIChsZXQgaW5wdXQgb2YgcG9zc2libGVJbnB1dHMpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gaW5wdXRLZXlzLmluZGV4T2YoaW5wdXQucHJvcE5hbWUpO1xuICAgICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgICBpbnB1dEtleXMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cbiAgICAgIGlmICghaW5wdXRLZXlzLmxlbmd0aCkgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKGlucHV0S2V5cy5sZW5ndGgpXG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgIGBVbm1hcHBlZCBpbnB1dCBwcm9wZXJ0aWVzIGZvciBjb21wb25lbnQgJHtmaWVsZERlZi50YWd9OiAke2lucHV0S2V5cy5qb2luKCcsICcpfWAsXG4gICAgICApO1xuXG4gICAgY29uc3QgcmVzdWx0OiBBbmd1bGFyRHluYW1pY091dHB1dCA9IHtcbiAgICAgIGNvbXBvbmVudDogY29tcG9uZW50LFxuICAgICAgaW5wdXRzOiBpbnB1dHMgfHwge30sXG4gICAgICBpbmplY3RvcjogaW5qZWN0b3IsXG4gICAgfTtcblxuICAgIGlmIChmaWVsZERlZi5yZW5kZXJlcklkKSB7XG4gICAgICAocmVzdWx0LmlucHV0cyBhcyBSZWNvcmQ8c3RyaW5nLCBhbnk+KVsncmVuZGVyZXJJZCddID1cbiAgICAgICAgZmllbGREZWYucmVuZGVyZXJJZDtcbiAgICB9XG5cbiAgICBpZiAoZmllbGREZWYuY2hpbGRyZW4gJiYgZmllbGREZWYuY2hpbGRyZW4ubGVuZ3RoKSB7XG4gICAgICByZXN1bHQuY2hpbGRyZW4gPSBmaWVsZERlZi5jaGlsZHJlbi5tYXAoKGNoaWxkKSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZyb21GaWVsZERlZmluaXRpb24oY2hpbGQsIHZjciwgaW5qZWN0b3IsIHRwbCk7XG4gICAgICB9KTtcblxuICAgICAgY29uc3QgdGVtcGxhdGUgPSB2Y3IuY3JlYXRlRW1iZWRkZWRWaWV3KHRwbCwgaW5qZWN0b3IpLnJvb3ROb2RlcztcbiAgICAgIHJlc3VsdC5jb250ZW50ID0gW3RlbXBsYXRlXTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgb3ZlcnJpZGUgcmVuZGVyPE0gZXh0ZW5kcyBNb2RlbD4oXG4gICAgbW9kZWw6IE0sXG4gICAgZ2xvYmFsUHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICAgIHZjcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgdHBsOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICApOiBBbmd1bGFyRHluYW1pY091dHB1dCB7XG4gICAgbGV0IHJlc3VsdDogQW5ndWxhckR5bmFtaWNPdXRwdXQ7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGZpZWxkRGVmID0gdGhpcy50b0ZpZWxkRGVmaW5pdGlvbihtb2RlbCwgZ2xvYmFsUHJvcHMpO1xuICAgICAgcmVzdWx0ID0gdGhpcy5mcm9tRmllbGREZWZpbml0aW9uKGZpZWxkRGVmLCB2Y3IsIGluamVjdG9yLCB0cGwpO1xuICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICBgRmFpbGVkIHRvIHJlbmRlciBNb2RlbCAke21vZGVsLmNvbnN0cnVjdG9yLm5hbWV9OiAke2V9YCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIG92ZXJyaWRlIGFzeW5jIGluaXRpYWxpemUoLi4uYXJnczogYW55W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5pbml0aWFsaXplZCkgcmV0dXJuO1xuICAgIC8vIFZhbGlkYXRhYmxlQnlUeXBlW11cbiAgICB0aGlzLmluaXRpYWxpemVkID0gdHJ1ZTtcbiAgfVxuXG4gIHN0YXRpYyByZWdpc3RlckNvbXBvbmVudChuYW1lOiBzdHJpbmcsIGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3Rvcjx1bmtub3duPikge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50cykgdGhpcy5fY29tcG9uZW50cyA9IHt9O1xuICAgIGlmIChuYW1lIGluIHRoaXMuX2NvbXBvbmVudHMpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgQ29tcG9uZW50IGFscmVhZHkgcmVnaXN0ZXJlZCB1bmRlciAke25hbWV9YCk7XG4gICAgdGhpcy5fY29tcG9uZW50c1tuYW1lXSA9IHtcbiAgICAgIGNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvcixcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGNvbXBvbmVudHMoc2VsZWN0b3I/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXNlbGVjdG9yKSByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLl9jb21wb25lbnRzKTtcbiAgICBpZiAoIShzZWxlY3RvciBpbiB0aGlzLl9jb21wb25lbnRzKSlcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBDb21wb25lbnQgcmVnaXN0ZXJlZCB1bmRlciAke3NlbGVjdG9yfWApO1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRzW3NlbGVjdG9yXTtcbiAgfVxuXG4gIHN0YXRpYyBvdmVycmlkZSBrZXkoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7QW5ndWxhckVuZ2luZUtleXMuUkVGTEVDVH0ke2tleX1gO1xuICB9XG59XG4iXX0=
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { Validation, ValidationKeys, } from '@decaf-ts/decorator-validation';
|
|
2
|
-
import { RenderingEngine } from '@decaf-ts/ui-decorators';
|
|
3
|
-
export class ValidatorFactory {
|
|
4
|
-
static spawn(key, arg) {
|
|
5
|
-
if (!Validation.keys().includes(key))
|
|
6
|
-
throw new Error('Unsupported custom validation');
|
|
7
|
-
/**
|
|
8
|
-
* TODO: This is only needed until the validator refacture
|
|
9
|
-
* @param arg
|
|
10
|
-
*/
|
|
11
|
-
const parseArgs = (arg) => {
|
|
12
|
-
switch (key) {
|
|
13
|
-
case ValidationKeys.REQUIRED:
|
|
14
|
-
case ValidationKeys.EMAIL:
|
|
15
|
-
case ValidationKeys.URL:
|
|
16
|
-
case ValidationKeys.PASSWORD:
|
|
17
|
-
return [];
|
|
18
|
-
case ValidationKeys.TYPE:
|
|
19
|
-
arg = RenderingEngine.get().translate(arg, false);
|
|
20
|
-
}
|
|
21
|
-
return [arg];
|
|
22
|
-
};
|
|
23
|
-
const validatorFn = (control) => {
|
|
24
|
-
const validator = Validation.get(key);
|
|
25
|
-
const value = control.value;
|
|
26
|
-
const actualArg = parseArgs(arg);
|
|
27
|
-
if (key === ValidationKeys.TYPE) {
|
|
28
|
-
}
|
|
29
|
-
let errs;
|
|
30
|
-
try {
|
|
31
|
-
errs = validator.hasErrors(value, ...actualArg);
|
|
32
|
-
}
|
|
33
|
-
catch (e) {
|
|
34
|
-
console.warn(`${key} validator failed to validate: ${e}`);
|
|
35
|
-
}
|
|
36
|
-
if (!errs)
|
|
37
|
-
return null;
|
|
38
|
-
const result = {};
|
|
39
|
-
result[key] = true;
|
|
40
|
-
return result;
|
|
41
|
-
};
|
|
42
|
-
Object.defineProperty(validatorFn, 'name', {
|
|
43
|
-
value: `${key}Validator`,
|
|
44
|
-
});
|
|
45
|
-
return validatorFn;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL1ZhbGlkYXRvckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEdBRWYsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFZO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFbkQ7OztXQUdHO1FBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRTtZQUNqQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNaLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO2dCQUMxQixLQUFLLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3hCLEtBQUssY0FBYyxDQUFDLFFBQVE7b0JBQzFCLE9BQU8sRUFBRSxDQUFDO2dCQUNaLEtBQUssY0FBYyxDQUFDLElBQUk7b0JBQ3RCLEdBQUcsR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQWdCLENBQy9CLE9BQXdCLEVBQ0MsRUFBRTtZQUMzQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBYyxDQUFDO1lBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDNUIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksR0FBRyxLQUFLLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUM7WUFDVCxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLGtDQUFrQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN2QixNQUFNLE1BQU0sR0FBNEIsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLEtBQUssRUFBRSxHQUFHLEdBQUcsV0FBVztTQUN6QixDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgVmFsaWRhdGlvbixcbiAgVmFsaWRhdGlvbktleXMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uJztcbmltcG9ydCB7IFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvckZhY3Rvcnkge1xuICBzdGF0aWMgc3Bhd24oa2V5OiBzdHJpbmcsIGFyZzogdW5rbm93bikge1xuICAgIGlmICghVmFsaWRhdGlvbi5rZXlzKCkuaW5jbHVkZXMoa2V5KSlcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgY3VzdG9tIHZhbGlkYXRpb24nKTtcblxuICAgIC8qKlxuICAgICAqIFRPRE86IFRoaXMgaXMgb25seSBuZWVkZWQgdW50aWwgdGhlIHZhbGlkYXRvciByZWZhY3R1cmVcbiAgICAgKiBAcGFyYW0gYXJnXG4gICAgICovXG4gICAgY29uc3QgcGFyc2VBcmdzID0gKGFyZzogdW5rbm93bikgPT4ge1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRDpcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlRZUEU6XG4gICAgICAgICAgYXJnID0gUmVuZGVyaW5nRW5naW5lLmdldCgpLnRyYW5zbGF0ZShhcmcgYXMgc3RyaW5nLCBmYWxzZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW2FyZ107XG4gICAgfTtcblxuICAgIGNvbnN0IHZhbGlkYXRvckZuOiBWYWxpZGF0b3JGbiA9IChcbiAgICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0b3IgPSBWYWxpZGF0aW9uLmdldChrZXkpIGFzIFZhbGlkYXRvcjtcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IGFjdHVhbEFyZyA9IHBhcnNlQXJncyhhcmcpO1xuICAgICAgaWYgKGtleSA9PT0gVmFsaWRhdGlvbktleXMuVFlQRSkge1xuICAgICAgfVxuICAgICAgbGV0IGVycnM7XG4gICAgICB0cnkge1xuICAgICAgICBlcnJzID0gdmFsaWRhdG9yLmhhc0Vycm9ycyh2YWx1ZSwgLi4uYWN0dWFsQXJnKTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgY29uc29sZS53YXJuKGAke2tleX0gdmFsaWRhdG9yIGZhaWxlZCB0byB2YWxpZGF0ZTogJHtlfWApO1xuICAgICAgfVxuICAgICAgaWYgKCFlcnJzKSByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgICAgIHJlc3VsdFtrZXldID0gdHJ1ZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0b3JGbiwgJ25hbWUnLCB7XG4gICAgICB2YWx1ZTogYCR7a2V5fVZhbGlkYXRvcmAsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdG9yRm47XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { UIKeys } from '@decaf-ts/ui-decorators';
|
|
2
|
-
export const AngularEngineKeys = {
|
|
3
|
-
REFLECT: `${UIKeys.REFLECT}.angular.`,
|
|
4
|
-
DYNAMIC: 'dynamic-component',
|
|
5
|
-
ANNOTATIONS: '__annotations__',
|
|
6
|
-
ECMP: 'ecmp',
|
|
7
|
-
NG_REFLECT: 'ng-reflect-',
|
|
8
|
-
RENDERED: 'rendered-as-',
|
|
9
|
-
RENDERED_ID: 'rendered-as-{0}',
|
|
10
|
-
};
|
|
11
|
-
export const FormConstants = {
|
|
12
|
-
VALID: 'VALID',
|
|
13
|
-
INVALID: 'INVALID',
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxXQUFXO0lBQ3JDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixJQUFJLEVBQUUsTUFBTTtJQUNaLFVBQVUsRUFBRSxhQUFhO0lBQ3pCLFFBQVEsRUFBRSxjQUFjO0lBQ3hCLFdBQVcsRUFBRSxpQkFBaUI7Q0FDL0IsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUMzQixLQUFLLEVBQUUsT0FBTztJQUNkLE9BQU8sRUFBRSxTQUFTO0NBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBVSUtleXMgfSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5cbmV4cG9ydCBjb25zdCBBbmd1bGFyRW5naW5lS2V5cyA9IHtcbiAgUkVGTEVDVDogYCR7VUlLZXlzLlJFRkxFQ1R9LmFuZ3VsYXIuYCxcbiAgRFlOQU1JQzogJ2R5bmFtaWMtY29tcG9uZW50JyxcbiAgQU5OT1RBVElPTlM6ICdfX2Fubm90YXRpb25zX18nLFxuICBFQ01QOiAnZWNtcCcsXG4gIE5HX1JFRkxFQ1Q6ICduZy1yZWZsZWN0LScsXG4gIFJFTkRFUkVEOiAncmVuZGVyZWQtYXMtJyxcbiAgUkVOREVSRURfSUQ6ICdyZW5kZXJlZC1hcy17MH0nLFxufTtcblxuZXhwb3J0IGNvbnN0IEZvcm1Db25zdGFudHMgPSB7XG4gIFZBTElEOiAnVkFMSUQnLFxuICBJTlZBTElEOiAnSU5WQUxJRCcsXG59O1xuIl19
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { apply, metadata } from '@decaf-ts/reflection';
|
|
2
|
-
import { NgxRenderingEngine } from './NgxRenderingEngine';
|
|
3
|
-
import { AngularEngineKeys } from './constants';
|
|
4
|
-
import { InternalError } from '@decaf-ts/db-decorators';
|
|
5
|
-
import { reflectComponentType } from '@angular/core';
|
|
6
|
-
export function Dynamic() {
|
|
7
|
-
return apply((original) => {
|
|
8
|
-
const metadata = reflectComponentType(original);
|
|
9
|
-
if (!metadata)
|
|
10
|
-
throw new InternalError(`Could not find Component metadata. @Dynamic decorator must come above @Component`);
|
|
11
|
-
NgxRenderingEngine.registerComponent(metadata.selector, original);
|
|
12
|
-
}, metadata(NgxRenderingEngine.key(AngularEngineKeys.DYNAMIC), true));
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE9BQU8sRUFBRSxvQkFBb0IsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUUzRCxNQUFNLFVBQVUsT0FBTztJQUNyQixPQUFPLEtBQUssQ0FDVixDQUFDLFFBQWdCLEVBQUUsRUFBRTtRQUNuQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsQ0FBQyxRQUF5QixDQUFDLENBQUM7UUFFakUsSUFBSSxDQUFDLFFBQVE7WUFDWCxNQUFNLElBQUksYUFBYSxDQUNyQixrRkFBa0YsQ0FDbkYsQ0FBQztRQUVKLGtCQUFrQixDQUFDLGlCQUFpQixDQUNsQyxRQUFRLENBQUMsUUFBUSxFQUNqQixRQUEyQyxDQUM1QyxDQUFDO0lBQ0osQ0FBQyxFQUNELFFBQVEsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQ2xFLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXBwbHksIG1ldGFkYXRhIH0gZnJvbSAnQGRlY2FmLXRzL3JlZmxlY3Rpb24nO1xuaW1wb3J0IHsgTmd4UmVuZGVyaW5nRW5naW5lIH0gZnJvbSAnLi9OZ3hSZW5kZXJpbmdFbmdpbmUnO1xuaW1wb3J0IHsgQW5ndWxhckVuZ2luZUtleXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBDb25zdHJ1Y3RvciB9IGZyb20gJ0BkZWNhZi10cy9kZWNvcmF0b3ItdmFsaWRhdGlvbic7XG5pbXBvcnQgeyBJbnRlcm5hbEVycm9yIH0gZnJvbSAnQGRlY2FmLXRzL2RiLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IHJlZmxlY3RDb21wb25lbnRUeXBlLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBEeW5hbWljKCkge1xuICByZXR1cm4gYXBwbHkoXG4gICAgKG9yaWdpbmFsOiBvYmplY3QpID0+IHtcbiAgICAgIGNvbnN0IG1ldGFkYXRhID0gcmVmbGVjdENvbXBvbmVudFR5cGUob3JpZ2luYWwgYXMgVHlwZTx1bmtub3duPik7XG5cbiAgICAgIGlmICghbWV0YWRhdGEpXG4gICAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKFxuICAgICAgICAgIGBDb3VsZCBub3QgZmluZCBDb21wb25lbnQgbWV0YWRhdGEuIEBEeW5hbWljIGRlY29yYXRvciBtdXN0IGNvbWUgYWJvdmUgQENvbXBvbmVudGAsXG4gICAgICAgICk7XG5cbiAgICAgIE5neFJlbmRlcmluZ0VuZ2luZS5yZWdpc3RlckNvbXBvbmVudChcbiAgICAgICAgbWV0YWRhdGEuc2VsZWN0b3IsXG4gICAgICAgIG9yaWdpbmFsIGFzIHVua25vd24gYXMgQ29uc3RydWN0b3I8dW5rbm93bj4sXG4gICAgICApO1xuICAgIH0sXG4gICAgbWV0YWRhdGEoTmd4UmVuZGVyaW5nRW5naW5lLmtleShBbmd1bGFyRW5naW5lS2V5cy5EWU5BTUlDKSwgdHJ1ZSksXG4gICk7XG59XG4iXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from './constants';
|
|
2
|
-
export * from './decorators';
|
|
3
|
-
export * from './DynamicModule';
|
|
4
|
-
export * from './NgxRenderingEngine';
|
|
5
|
-
export * from './types';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9EeW5hbWljTW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vTmd4UmVuZGVyaW5nRW5naW5lJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvbklucHV0LCBJb25TZWxlY3QsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5pbXBvcnQgeyBJbmplY3RvciwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBGaWVsZFVwZGF0ZU1vZGUgPSAnY2hhbmdlJyB8ICdibHVyJyB8ICdzdWJtaXQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudE1ldGFkYXRhIHtcbiAgY2hhbmdlRGV0ZWN0aW9uOiBudW1iZXI7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIHN0YW5kYWxvbmU6IGJvb2xlYW47XG4gIGltcG9ydHM6IChuZXcgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bilbXTtcbiAgdGVtcGxhdGU6IHN0cmluZztcbiAgc3R5bGVzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IHR5cGUgQW5ndWxhckR5bmFtaWNPdXRwdXQgPSB7XG4gIGNvbXBvbmVudDogVHlwZTx1bmtub3duPjtcbiAgcmVuZGVyZXJJZD86IHN0cmluZztcbiAgaW5wdXRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIGluamVjdG9yPzogSW5qZWN0b3I7XG4gIGNvbnRlbnQ/OiBOb2RlW11bXTtcbiAgY2hpbGRyZW4/OiBBbmd1bGFyRHluYW1pY091dHB1dFtdO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBSZW5kZXJlZE1vZGVsIHtcbiAgcmVuZGVyZXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgUG9zc2libGVJbnB1dFR5cGVzID1cbiAgfCAnY2hlY2tib3gnXG4gIHwgJ3JhZGlvJ1xuICB8ICdzZWxlY3QnXG4gIHwgVGV4dEZpZWxkVHlwZXNcbiAgfCAndGV4dGFyZWEnO1xuXG5leHBvcnQgdHlwZSBBbmd1bGFyRmllbGREZWZpbml0aW9uID0gT21pdDxcbiAgSW9uSW5wdXQsXG4gIHwgJ2lvbklucHV0J1xuICB8ICdpb25Gb2N1cydcbiAgfCAnaW9uQ2hhbmdlJ1xuICB8ICdpb25CbHVyJ1xuICB8ICdnZXRJbnB1dEVsZW1lbnQnXG4gIHwgJ3NldEZvY3VzJ1xuICB8ICdsYWJlbCdcbiAgfCAnZWwnXG4gIHwgJ3onXG4gIHwgJ3R5cGUnXG4+ICZcbiAgUGljazxcbiAgICBJb25TZWxlY3QsXG4gICAgJ2NhbmNlbFRleHQnIHwgJ2ludGVyZmFjZScgfCAnc2VsZWN0ZWRUZXh0JyB8ICdpbnRlcmZhY2VPcHRpb25zJ1xuICA+ICZcbiAgUGljazxJb25UZXh0YXJlYSwgJ3Jvd3MnIHwgJ2NvbHMnPiAmXG4gIFBpY2s8SW9uQ2hlY2tib3gsICdhbGlnbm1lbnQnIHwgJ2p1c3RpZnknIHwgJ2NoZWNrZWQnPiAmIHtcbiAgICB0eXBlOiBQb3NzaWJsZUlucHV0VHlwZXM7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgfSAmIFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuXG5leHBvcnQgdHlwZSBTdHJpbmdPckJvb2xlYW4gPSAndHJ1ZScgfCAnZmFsc2UnIHwgYm9vbGVhbjtcblxuZXhwb3J0IHR5cGUgU2VsZWN0T3B0aW9uID0gSW5wdXRPcHRpb24gJiB7IHNlbGVjdGVkPzogYm9vbGVhbiB9O1xuZXhwb3J0IHR5cGUgQ2hlY2tib3hPcHRpb24gPSBSYWRpb09wdGlvbjtcbmV4cG9ydCB0eXBlIFJhZGlvT3B0aW9uID0gSW5wdXRPcHRpb24gJiB7IGNoZWNrZWQ/OiBib29sZWFuIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5wdXRPcHRpb24ge1xuICB0ZXh0OiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gIGRpc2FibGVkPzogU3RyaW5nT3JCb29sZWFuO1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIEhUTUxGb3JtVGFyZ2V0ID0gJ19ibGFuaycgfCAnX3NlbGYnIHwgJ19wYXJlbnQnIHwgJ190b3AnIHwgc3RyaW5nO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudEhvbGRlciB7XG4gIGNvbXBvbmVudDogRWxlbWVudFJlZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudCBleHRlbmRzIENvbXBvbmVudEhvbGRlciB7XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xufVxuIl19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import '@decaf-ts/ui-decorators';
|
|
2
|
-
export * from './components/decaf-model-renderer/decaf-model-renderer.component';
|
|
3
|
-
export * from './components/decaf-crud-field/decaf-crud-field.component';
|
|
4
|
-
export * from './components/decaf-crud-form/decaf-crud-form.component';
|
|
5
|
-
export * from './engine';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3B1YmxpYy1hcGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8seUJBQXlCLENBQUM7QUFDakMsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYyxVQUFVLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50cy9kZWNhZi1tb2RlbC1yZW5kZXJlci9kZWNhZi1tb2RlbC1yZW5kZXJlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlY2FmLWNydWQtZmllbGQvZGVjYWYtY3J1ZC1maWVsZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlY2FmLWNydWQtZm9ybS9kZWNhZi1jcnVkLWZvcm0uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZW5naW5lJztcbiJdfQ==
|