@decaf-ts/for-angular 0.0.3 → 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 +659 -21
- 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/lib/components/crud-form/crud-form.component.d.ts +102 -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 +37 -30
- 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/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/lib/interfaces.d.ts +28 -0
- package/dist/lib/public-apis.d.ts +12 -0
- package/package.json +74 -25
- 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 -22
- 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/directives/decaf-field.directive.d.ts +0 -8
- 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 -17
- package/dist/for-angular/engine/ValidatorFactory.d.ts +0 -4
- package/dist/for-angular/engine/constants.d.ts +0 -10
- 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 -32
- package/dist/for-angular/esm2022/components/decaf-crud-field/decaf-crud-field.component.mjs +0 -66
- 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 -84
- 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 -46
- package/dist/for-angular/esm2022/directives/decaf-field.directive.mjs +0 -23
- package/dist/for-angular/esm2022/engine/DynamicModule.mjs +0 -3
- package/dist/for-angular/esm2022/engine/NgxCrudFormField.mjs +0 -118
- package/dist/for-angular/esm2022/engine/NgxFormService.mjs +0 -232
- package/dist/for-angular/esm2022/engine/NgxRenderingEngine.mjs +0 -35
- package/dist/for-angular/esm2022/engine/ValidatorFactory.mjs +0 -48
- package/dist/for-angular/esm2022/engine/constants.mjs +0 -12
- package/dist/for-angular/esm2022/engine/decorators.mjs +0 -17
- 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 -5
- package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs +0 -675
- 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 -4
- /package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/constants.d.ts +0 -0
- /package/dist/{for-angular/components/decaf-crud-form → lib/components/crud-form}/types.d.ts +0 -0
- /package/dist/{for-angular → lib}/esm2022/decaf-ts-for-angular.mjs +0 -0
- /package/dist/{for-angular → lib}/index.d.ts +0 -0
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
import { InternalError, 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.props.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, 'form');
|
|
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.props);
|
|
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
|
-
if (!this.props || !this.operation)
|
|
100
|
-
throw new InternalError(`props and operation are required`);
|
|
101
|
-
this.formGroup = NgxFormService.fromProps(this.props, updateOn);
|
|
102
|
-
this.name = this.props.name;
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* @summary Get field errors
|
|
106
|
-
* @description Retrieves all errors associated with the field
|
|
107
|
-
* @returns {{key: string, message: string}[]} An array of error objects
|
|
108
|
-
*/
|
|
109
|
-
getErrors() {
|
|
110
|
-
return Object.entries(this.formGroup.controls).reduce((accum, [prop, control]) => {
|
|
111
|
-
Object.entries(control.errors).forEach(([k, c]) => {
|
|
112
|
-
accum.push({ key: k, message: k });
|
|
113
|
-
});
|
|
114
|
-
return accum;
|
|
115
|
-
}, []);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4Q3J1ZEZvcm1GaWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL05neENydWRGb3JtRmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUVMLGFBQWEsRUFDYixhQUFhLEdBQ2QsTUFBTSx5QkFBeUIsQ0FBQztBQUdqQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRXBEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLE9BQWdCLGdCQUFnQjtJQUF0QztRQTZDRTs7O1dBR0c7UUFDSCxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBRVI7OztXQUdHO1FBQ0gsYUFBUSxHQUFrQixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFFbkM7OztXQUdHO1FBQ0gsWUFBTyxHQUFrQixHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7SUF5R3BDLENBQUM7SUF2R0M7Ozs7T0FJRztJQUNILFVBQVUsQ0FBQyxHQUFXO1FBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsR0FBRyxDQUFDO0lBQ25CLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsZ0JBQWdCLENBQUMsRUFBaUI7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxpQkFBaUIsQ0FBQyxFQUFpQjtRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGFBQWE7UUFDWCxJQUFJLE1BQW1CLENBQUM7UUFDeEIsUUFBUSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDdkIsS0FBSyxhQUFhLENBQUMsTUFBTSxDQUFDO1lBQzFCLEtBQUssYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUMxQixLQUFLLGFBQWEsQ0FBQyxNQUFNO2dCQUN2QixJQUFJLENBQUM7b0JBQ0gsTUFBTSxHQUFHLGNBQWMsQ0FBQyxXQUFXLENBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxFQUM1QixNQUFNLENBQ1AsQ0FBQztnQkFDSixDQUFDO2dCQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7b0JBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQ2Isa0RBQWtELElBQUksQ0FBQyxTQUFTLEtBQUssQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzFHLENBQUM7Z0JBQ0osQ0FBQztnQkFDRCxjQUFjLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQy9ELE9BQU8sTUFBTSxDQUFDO1lBQ2hCO2dCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsc0JBQXNCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzVELENBQUM7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLE1BQU07WUFDYixjQUFjLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsUUFBeUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUztZQUNoQyxNQUFNLElBQUksYUFBYSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFDOUQsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztJQUM5QixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILFNBQVM7UUFDUCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLENBQ25ELENBQUMsS0FBeUMsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQzdELE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQWlDLENBQUMsQ0FBQyxPQUFPLENBQy9ELENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDVCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyQyxDQUFDLENBQ0YsQ0FBQztZQUNGLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxFQUNELEVBQUUsQ0FDSCxDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3J1ZEZvcm1GaWVsZCB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcbmltcG9ydCB7IEFuZ3VsYXJGaWVsZERlZmluaXRpb24sIEZpZWxkVXBkYXRlTW9kZSB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHtcbiAgQ3J1ZE9wZXJhdGlvbnMsXG4gIEludGVybmFsRXJyb3IsXG4gIE9wZXJhdGlvbktleXMsXG59IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3hGb3JtU2VydmljZSB9IGZyb20gJy4vTmd4Rm9ybVNlcnZpY2UnO1xuaW1wb3J0IHsgc2YgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuXG4vKipcbiAqIEBjbGFzcyBOZ3hDcnVkRm9ybUZpZWxkXG4gKiBAaW1wbGVtZW50cyB7Q3J1ZEZvcm1GaWVsZDxBbmd1bGFyRmllbGREZWZpbml0aW9uPn1cbiAqIEBpbXBsZW1lbnRzIHtDb250cm9sVmFsdWVBY2Nlc3Nvcn1cbiAqIEBzdW1tYXJ5IEFic3RyYWN0IGNsYXNzIHJlcHJlc2VudGluZyBhIENSVUQgZm9ybSBmaWVsZCBmb3IgQW5ndWxhciBhcHBsaWNhdGlvbnNcbiAqIEBkZXNjcmlwdGlvbiBUaGlzIGNsYXNzIHByb3ZpZGVzIHRoZSBiYXNlIGltcGxlbWVudGF0aW9uIGZvciBDUlVEIGZvcm0gZmllbGRzIGluIEFuZ3VsYXIsXG4gKiBpbXBsZW1lbnRpbmcgYm90aCBDcnVkRm9ybUZpZWxkIGFuZCBDb250cm9sVmFsdWVBY2Nlc3NvciBpbnRlcmZhY2VzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTmd4Q3J1ZEZvcm1GaWVsZFxuICBpbXBsZW1lbnRzIENydWRGb3JtRmllbGQ8QW5ndWxhckZpZWxkRGVmaW5pdGlvbj4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG57XG4gIC8qKlxuICAgKiBAc3VtbWFyeSBSZWZlcmVuY2UgdG8gdGhlIGNvbXBvbmVudCdzIGVsZW1lbnRcbiAgICogQGRlc2NyaXB0aW9uIEVsZW1lbnRSZWYgcmVwcmVzZW50aW5nIHRoZSBjb21wb25lbnQncyBuYXRpdmUgZWxlbWVudFxuICAgKi9cbiAgY29tcG9uZW50ITogRWxlbWVudFJlZjtcblxuICAvKipcbiAgICogQHN1bW1hcnkgQ3VycmVudCBDUlVEIG9wZXJhdGlvblxuICAgKiBAZGVzY3JpcHRpb24gUmVwcmVzZW50cyB0aGUgY3VycmVudCBDUlVEIG9wZXJhdGlvbiBiZWluZyBwZXJmb3JtZWRcbiAgICovXG4gIG9wZXJhdGlvbiE6IENydWRPcGVyYXRpb25zO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBGaWVsZCBwcm9wZXJ0aWVzXG4gICAqIEBkZXNjcmlwdGlvbiBBbmd1bGFyLXNwZWNpZmljIGZpZWxkIGRlZmluaXRpb24gcHJvcGVydGllc1xuICAgKi9cbiAgcHJvcHMhOiBBbmd1bGFyRmllbGREZWZpbml0aW9uO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBGb3JtIGdyb3VwIGZvciB0aGUgZmllbGRcbiAgICogQGRlc2NyaXB0aW9uIEFuZ3VsYXIgRm9ybUdyb3VwIGluc3RhbmNlIGZvciB0aGUgZmllbGRcbiAgICovXG4gIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcblxuICAvKipcbiAgICogQHN1bW1hcnkgRmllbGQgbmFtZVxuICAgKiBAZGVzY3JpcHRpb24gTmFtZSBvZiB0aGUgZm9ybSBmaWVsZFxuICAgKi9cbiAgbmFtZSE6IHN0cmluZztcblxuICAvKipcbiAgICogQHN1bW1hcnkgRmllbGQgdmFsdWVcbiAgICogQGRlc2NyaXB0aW9uIEN1cnJlbnQgdmFsdWUgb2YgdGhlIGZvcm0gZmllbGRcbiAgICovXG4gIHZhbHVlITogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBQYXJlbnQgSFRNTCBlbGVtZW50XG4gICAqIEBkZXNjcmlwdGlvbiBSZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBIVE1MIGVsZW1lbnQgb2YgdGhlIGZpZWxkXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyZW50PzogSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFN0cmluZyBmb3JtYXR0aW5nIGZ1bmN0aW9uXG4gICAqIEBkZXNjcmlwdGlvbiBQcm92aWRlcyBhY2Nlc3MgdG8gdGhlIHNmIGZ1bmN0aW9uIGZvciBlcnJvciBtZXNzYWdlIGZvcm1hdHRpbmdcbiAgICovXG4gIHNmID0gc2Y7XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IENoYW5nZSBjYWxsYmFjayBmdW5jdGlvblxuICAgKiBAZGVzY3JpcHRpb24gRnVuY3Rpb24gY2FsbGVkIHdoZW4gdGhlIGZpZWxkIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIG9uQ2hhbmdlOiAoKSA9PiB1bmtub3duID0gKCkgPT4ge307XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFRvdWNoIGNhbGxiYWNrIGZ1bmN0aW9uXG4gICAqIEBkZXNjcmlwdGlvbiBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGUgZmllbGQgaXMgdG91Y2hlZFxuICAgKi9cbiAgb25Ub3VjaDogKCkgPT4gdW5rbm93biA9ICgpID0+IHt9O1xuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBXcml0ZSB2YWx1ZSB0byB0aGUgZmllbGRcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdGhlIHZhbHVlIG9mIHRoZSBmaWVsZFxuICAgKiBAcGFyYW0ge3N0cmluZ30gb2JqIC0gVGhlIHZhbHVlIHRvIGJlIHNldFxuICAgKi9cbiAgd3JpdGVWYWx1ZShvYmo6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSBvYmo7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmVnaXN0ZXIgY2hhbmdlIGNhbGxiYWNrXG4gICAqIEBkZXNjcmlwdGlvbiBSZWdpc3RlcnMgYSBmdW5jdGlvbiB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZmllbGQgdmFsdWUgY2hhbmdlc1xuICAgKiBAcGFyYW0geygpID0+IHVua25vd259IGZuIC0gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCBvbiBjaGFuZ2VcbiAgICovXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICgpID0+IHVua25vd24pOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgUmVnaXN0ZXIgdG91Y2ggY2FsbGJhY2tcbiAgICogQGRlc2NyaXB0aW9uIFJlZ2lzdGVycyBhIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBmaWVsZCBpcyB0b3VjaGVkXG4gICAqIEBwYXJhbSB7KCkgPT4gdW5rbm93bn0gZm4gLSBUaGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIG9uIHRvdWNoXG4gICAqL1xuICByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gdW5rbm93bik6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaCA9IGZuO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFNldCBkaXNhYmxlZCBzdGF0ZVxuICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgZGlzYWJsZWQgc3RhdGUgb2YgdGhlIGZpZWxkXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNEaXNhYmxlZCAtIFdoZXRoZXIgdGhlIGZpZWxkIHNob3VsZCBiZSBkaXNhYmxlZFxuICAgKi9cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMucHJvcHMuZGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IEFmdGVyIHZpZXcgaW5pdGlhbGl6YXRpb24gbG9naWNcbiAgICogQGRlc2NyaXB0aW9uIFBlcmZvcm1zIG5lY2Vzc2FyeSBzZXR1cCBhZnRlciB0aGUgdmlldyBoYXMgYmVlbiBpbml0aWFsaXplZFxuICAgKiBAcmV0dXJucyB7SFRNTEVsZW1lbnR9IFRoZSBwYXJlbnQgZWxlbWVudCBvZiB0aGUgZmllbGRcbiAgICovXG4gIGFmdGVyVmlld0luaXQoKTogSFRNTEVsZW1lbnQge1xuICAgIGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50O1xuICAgIHN3aXRjaCAodGhpcy5vcGVyYXRpb24pIHtcbiAgICAgIGNhc2UgT3BlcmF0aW9uS2V5cy5DUkVBVEU6XG4gICAgICBjYXNlIE9wZXJhdGlvbktleXMuVVBEQVRFOlxuICAgICAgY2FzZSBPcGVyYXRpb25LZXlzLkRFTEVURTpcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBwYXJlbnQgPSBOZ3hGb3JtU2VydmljZS5nZXRQYXJlbnRFbChcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgICAgICAnZm9ybScsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBjYXRjaCAoZTogdW5rbm93bikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBVbmFibGUgdG8gcmV0cmlldmUgcGFyZW50IGZvcm0gZWxlbWVudCBmb3IgdGhlICR7dGhpcy5vcGVyYXRpb259OiAke2UgaW5zdGFuY2VvZiBFcnJvciA/IGUubWVzc2FnZSA6IGV9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIE5neEZvcm1TZXJ2aWNlLnJlZ2lzdGVyKHBhcmVudC5pZCwgdGhpcy5mb3JtR3JvdXAsIHRoaXMucHJvcHMpO1xuICAgICAgICByZXR1cm4gcGFyZW50O1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG9wZXJhdGlvbjogJHt0aGlzLm9wZXJhdGlvbn1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgQ2xlYW51cCBvbiBjb21wb25lbnQgZGVzdHJ1Y3Rpb25cbiAgICogQGRlc2NyaXB0aW9uIFVucmVnaXN0ZXJzIHRoZSBmaWVsZCB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkXG4gICAqL1xuICBvbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucGFyZW50KVxuICAgICAgTmd4Rm9ybVNlcnZpY2UudW5yZWdpc3Rlcih0aGlzLnBhcmVudC5pZCwgdGhpcy5jb21wb25lbnQubmF0aXZlRWxlbWVudCk7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgSW5pdGlhbGl6ZSB0aGUgZmllbGRcbiAgICogQGRlc2NyaXB0aW9uIFNldHMgdXAgdGhlIGZvcm0gZ3JvdXAgYW5kIGZpZWxkIG5hbWVcbiAgICogQHBhcmFtIHtGaWVsZFVwZGF0ZU1vZGV9IHVwZGF0ZU9uIC0gVGhlIHVwZGF0ZSBtb2RlIGZvciB0aGUgZmllbGRcbiAgICovXG4gIG9uSW5pdCh1cGRhdGVPbjogRmllbGRVcGRhdGVNb2RlKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnByb3BzIHx8ICF0aGlzLm9wZXJhdGlvbilcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBwcm9wcyBhbmQgb3BlcmF0aW9uIGFyZSByZXF1aXJlZGApO1xuICAgIHRoaXMuZm9ybUdyb3VwID0gTmd4Rm9ybVNlcnZpY2UuZnJvbVByb3BzKHRoaXMucHJvcHMsIHVwZGF0ZU9uKTtcbiAgICB0aGlzLm5hbWUgPSB0aGlzLnByb3BzLm5hbWU7XG4gIH1cblxuICAvKipcbiAgICogQHN1bW1hcnkgR2V0IGZpZWxkIGVycm9yc1xuICAgKiBAZGVzY3JpcHRpb24gUmV0cmlldmVzIGFsbCBlcnJvcnMgYXNzb2NpYXRlZCB3aXRoIHRoZSBmaWVsZFxuICAgKiBAcmV0dXJucyB7e2tleTogc3RyaW5nLCBtZXNzYWdlOiBzdHJpbmd9W119IEFuIGFycmF5IG9mIGVycm9yIG9iamVjdHNcbiAgICovXG4gIGdldEVycm9ycygpOiB7IGtleTogc3RyaW5nOyBtZXNzYWdlOiBzdHJpbmcgfVtdIHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy5mb3JtR3JvdXAuY29udHJvbHMpLnJlZHVjZShcbiAgICAgIChhY2N1bTogeyBrZXk6IHN0cmluZzsgbWVzc2FnZTogc3RyaW5nIH1bXSwgW3Byb3AsIGNvbnRyb2xdKSA9PiB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKGNvbnRyb2wuZXJyb3JzIGFzIFJlY29yZDxzdHJpbmcsIHVua25vd24+KS5mb3JFYWNoKFxuICAgICAgICAgIChbaywgY10pID0+IHtcbiAgICAgICAgICAgIGFjY3VtLnB1c2goeyBrZXk6IGssIG1lc3NhZ2U6IGsgfSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGFjY3VtO1xuICAgICAgfSxcbiAgICAgIFtdLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,232 +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
|
-
this.controls[formId] = this.controls[formId] || {};
|
|
214
|
-
this.controls[formId][props.name] = {
|
|
215
|
-
control: control,
|
|
216
|
-
props: props,
|
|
217
|
-
};
|
|
218
|
-
}
|
|
219
|
-
/**
|
|
220
|
-
* Unregisters a form or a specific field from the service.
|
|
221
|
-
*
|
|
222
|
-
* @param formId - The unique identifier of the form.
|
|
223
|
-
* @param field - Optional. The specific field to unregister. If not provided, the entire form is unregistered.
|
|
224
|
-
*/
|
|
225
|
-
static unregister(formId, field) {
|
|
226
|
-
if (!field)
|
|
227
|
-
delete this.controls[formId];
|
|
228
|
-
else
|
|
229
|
-
delete this.controls[formId][field.name];
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4Rm9ybVNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9OZ3hGb3JtU2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsVUFBVSxFQUVWLGVBQWUsRUFDZixlQUFlLEVBQ2YsYUFBYSxHQUNkLE1BQU0seUJBQXlCLENBQUM7QUFFakMsT0FBTyxFQUVMLFdBQVcsRUFDWCxTQUFTLEVBRVQsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVoRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUV0RDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxPQUFPLGNBQWM7SUFDekI7Ozs7O09BS0c7YUFDWSxhQUFRLEdBU25CLEVBQUUsQ0FBQztJQUVQLGdFQUFnRTtJQUNoRSxnQkFBdUIsQ0FBQztJQUV4Qjs7Ozs7OztPQU9HO0lBQ0g7Ozs7Ozs7O09BUUc7SUFDSCxNQUFNLENBQUMsaUJBQWlCLENBQ3RCLEVBQWUsRUFDZixNQUFjLEVBQ2QsaUJBQWtDLE1BQU07UUFFeEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxpQkFBaUIsQ0FBQyxVQUFVLE9BQU8sQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUN6QixFQUFFLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FDdEQsQ0FBQztRQUNGLE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFVLEVBQUUsRUFBRTtZQUMzQyxNQUFNLFNBQVMsR0FBSSxDQUF1RDtpQkFDdkUsVUFBVSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsVUFBVSxNQUFNLENBQUMs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SUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxLQUFLLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUN2RCxPQUFPLE1BQU0sQ0FBQztZQUNoQixDQUFDO1lBQ0QsRUFBRSxHQUFHLE1BQU0sQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLElBQUksS0FBSyxDQUNiLDBCQUEwQixHQUFHLGlDQUFpQyxDQUMvRCxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxRQUFRLENBQ2IsTUFBYyxFQUNkLE9BQWtCLEVBQ2xCLEtBQStDO1FBRS9DLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDbEMsT0FBTyxFQUFFLE9BQU87WUFDaEIsS0FBSyxFQUFFLEtBQUs7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjLEVBQUUsS0FBbUI7UUFDbkQsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7O1lBRXZDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBRSxLQUFxQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBlc2NhcGVIdG1sLFxuICBGaWVsZFByb3BlcnRpZXMsXG4gIEhUTUw1Q2hlY2tUeXBlcyxcbiAgSFRNTDVJbnB1dFR5cGVzLFxuICBwYXJzZVRvTnVtYmVyLFxufSBmcm9tICdAZGVjYWYtdHMvdWktZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBbmd1bGFyRmllbGREZWZpbml0aW9uLCBGaWVsZFVwZGF0ZU1vZGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUNvbnRyb2wsXG4gIEZvcm1Hcm91cCxcbiAgVmFsaWRhdG9yRm4sXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFZhbGlkYXRpb24gfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgQW5ndWxhckVuZ2luZUtleXMgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBGb3JtRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVmFsaWRhdG9yRmFjdG9yeSB9IGZyb20gJy4vVmFsaWRhdG9yRmFjdG9yeSc7XG5cbi8qKlxuICogQHN1bW1hcnkgU2VydmljZSBmb3IgbWFuYWdpbmcgQW5ndWxhciBmb3JtcyBhbmQgZm9ybSBjb250cm9scy5cbiAqIEBkZXNjcmlwdGlvblxuICogVGhlIE5neEZvcm1TZXJ2aWNlIHByb3ZpZGVzIHV0aWxpdHkgbWV0aG9kcyBmb3IgaGFuZGxpbmcgZm9ybSBpbml0aWFsaXphdGlvbixcbiAqIHZhbGlkYXRpb24sIGRhdGEgcmV0cmlldmFsLCBhbmQgZm9ybSBjb250cm9sIG1hbmFnZW1lbnQgaW4gQW5ndWxhciBhcHBsaWNhdGlvbnMuXG4gKiBJdCBvZmZlcnMgYSBjZW50cmFsaXplZCB3YXkgdG8gbWFuYWdlIGZvcm0gY29udHJvbHMsIHBlcmZvcm0gdmFsaWRhdGlvbnMsIGFuZFxuICogaGFuZGxlIGZvcm0tcmVsYXRlZCBvcGVyYXRpb25zLlxuICovXG5leHBvcnQgY2xhc3MgTmd4Rm9ybVNlcnZpY2Uge1xuICAvKipcbiAgICogQHN1bW1hcnkgU3RvcmFnZSBmb3IgZm9ybSBjb250cm9scy5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEEgc3RhdGljIG9iamVjdCB0aGF0IHN0b3JlcyBmb3JtIGNvbnRyb2xzIGluZGV4ZWQgYnkgZm9ybSBJRCBhbmQgZmllbGQgbmFtZS5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJlY29yZDxzdHJpbmcsIHsgY29udHJvbDogRm9ybUdyb3VwOyBwcm9wczogQW5ndWxhckZpZWxkRGVmaW5pdGlvbiB9Pj59XG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBjb250cm9sczogUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICBSZWNvcmQ8XG4gICAgICBzdHJpbmcsXG4gICAgICB7XG4gICAgICAgIGNvbnRyb2w6IEZvcm1Hcm91cDtcbiAgICAgICAgcHJvcHM6IEFuZ3VsYXJGaWVsZERlZmluaXRpb247XG4gICAgICB9XG4gICAgPlxuICA+ID0ge307XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge31cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGZvcm0gYWZ0ZXIgdGhlIHZpZXcgaGFzIGJlZW4gaW5pdGlhbGl6ZWQuXG4gICAqIFRoaXMgbWV0aG9kIHNldHMgdXAgdGhlIGZvcm0gY29udHJvbHMgYW5kIGNyZWF0ZXMgYSBGb3JtR3JvdXAuXG4gICAqXG4gICAqIEBwYXJhbSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICogQHBhcmFtIGZvcm1JZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSBmb3JtVXBkYXRlTW9kZSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0uIERlZmF1bHRzIHRvICdibHVyJy5cbiAgICovXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBJbml0aWFsaXplcyB0aGUgZm9ybSBhZnRlciB2aWV3IGluaXRpYWxpemF0aW9uLlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogU2V0cyB1cCBmb3JtIGNvbnRyb2xzIGFuZCBjcmVhdGVzIGEgRm9ybUdyb3VwIGZvciB0aGUgZ2l2ZW4gZm9ybSBlbGVtZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge0Zvcm1FbGVtZW50fSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgdG8gaW5pdGlhbGl6ZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZvcm1JZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGZvcm0uXG4gICAqIEBwYXJhbSB7RmllbGRVcGRhdGVNb2RlfSBbZm9ybVVwZGF0ZU1vZGU9J2JsdXInXSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0uXG4gICAqL1xuICBzdGF0aWMgZm9ybUFmdGVyVmlld0luaXQoXG4gICAgZWw6IEZvcm1FbGVtZW50LFxuICAgIGZvcm1JZDogc3RyaW5nLFxuICAgIGZvcm1VcGRhdGVNb2RlOiBGaWVsZFVwZGF0ZU1vZGUgPSAnYmx1cicsXG4gICkge1xuICAgIGNvbnN0IHNlbGVjdG9yID0gYCpbJHtBbmd1bGFyRW5naW5lS2V5cy5OR19SRUZMRUNUfW5hbWVdYDtcbiAgICBjb25zdCBlbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICBlbC5jb21wb25lbnQubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKSxcbiAgICApO1xuICAgIGNvbnN0IGNvbnRyb2xzID0gZWxlbWVudHMubWFwKChmOiB1bmtub3duKSA9PiB7XG4gICAgICBjb25zdCBmaWVsZE5hbWUgPSAoZiBhcyB7IGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIHsgdmFsdWU6IHN0cmluZyB9PiB9KVxuICAgICAgICAuYXR0cmlidXRlc1tgJHtBbmd1bGFyRW5naW5lS2V5cy5OR19SRUZMRUNUfW5hbWVgXS52YWx1ZTtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSBOZ3hGb3JtU2VydmljZS5nZXRGaWVsZEJ5TmFtZShmb3JtSWQsIGZpZWxkTmFtZSk7XG4gICAgICByZXR1cm4gY29udHJvbC5jb250cm9sO1xuICAgIH0pO1xuICAgIGVsLmZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoY29udHJvbHMsIHtcbiAgICAgIHVwZGF0ZU9uOiBmb3JtVXBkYXRlTW9kZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBIYW5kbGVzIGZvcm0gY29tcG9uZW50IGRlc3RydWN0aW9uLlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogVW5yZWdpc3RlcnMgdGhlIGZvcm0gZnJvbSB0aGUgc2VydmljZSB3aGVuIHRoZSBjb21wb25lbnQgaXMgZGVzdHJveWVkLlxuICAgKlxuICAgKiBAcGFyYW0ge0Zvcm1FbGVtZW50fSBlbCAtIFRoZSBmb3JtIGVsZW1lbnQgYmVpbmcgZGVzdHJveWVkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZm9ybUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtIHRvIHVucmVnaXN0ZXIuXG4gICAqL1xuICBzdGF0aWMgZm9yT25EZXN0cm95KGVsOiBGb3JtRWxlbWVudCwgZm9ybUlkOiBzdHJpbmcpIHtcbiAgICBOZ3hGb3JtU2VydmljZS51bnJlZ2lzdGVyKGZvcm1JZCwgZWwuY29tcG9uZW50Lm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBzdW1tYXJ5IFJldHJpZXZlcyBmb3JtIGRhdGEgZm9yIGEgZ2l2ZW4gZm9ybSBJRC5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFByb2Nlc3NlcyBmb3JtIGNvbnRyb2xzIGFuZCByZXR1cm5zIHRoZWlyIHZhbHVlcyBhcyBhbiBvYmplY3QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtSWQgLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGZvcm0gdG8gcmV0cmlldmUgZGF0YSBmcm9tLlxuICAgKiBAcmV0dXJucyB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmb3JtIGRhdGEuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgZm9ybSB3aXRoIHRoZSBnaXZlbiBJRCBpcyBub3QgZm91bmQuXG4gICAqL1xuICBzdGF0aWMgZ2V0Rm9ybURhdGEoZm9ybUlkOiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gICAgaWYgKCEoZm9ybUlkIGluIHRoaXMuY29udHJvbHMpKSB0aHJvdyBuZXcgRXJyb3IoYGZvcm0gJHtmb3JtSWR9IG5vdCBmb3VuZGApO1xuICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNvbnRyb2xzW2Zvcm1JZF07XG4gICAgbGV0IGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgICBsZXQgdmFsOiB1bmtub3duO1xuICAgIGNvbnN0IGRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG4gICAgZm9yIChjb25zdCBrZXkgaW4gZm9ybSkge1xuICAgICAgY29udHJvbCA9IGZvcm1ba2V5XS5jb250cm9sO1xuICAgICAgaWYgKCFIVE1MNUNoZWNrVHlwZXMuaW5jbHVkZXMoZm9ybVtrZXldLnByb3BzLnR5cGUpKSB7XG4gICAgICAgIHN3aXRjaCAoZm9ybVtrZXldLnByb3BzLnR5cGUpIHtcbiAgICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5OVU1CRVI6XG4gICAgICAgICAgICB2YWwgPSBwYXJzZVRvTnVtYmVyKGNvbnRyb2wudmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBIVE1MNUlucHV0VHlwZXMuREFURTpcbiAgICAgICAgICBjYXNlIEhUTUw1SW5wdXRUeXBlcy5EQVRFVElNRV9MT0NBTDpcbiAgICAgICAgICAgIHZhbCA9IG5ldyBEYXRlKGNvbnRyb2wudmFsdWVba2V5XSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFsID0gZXNjYXBlSHRtbChjb250cm9sLnZhbHVlW2tleV0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWwgPSBjb250cm9sLnZhbHVlO1xuICAgICAgfVxuICAgICAgZGF0YVtrZXldID0gdmFsO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBWYWxpZGF0ZXMgZm9ybSBmaWVsZHMuXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBWYWxpZGF0ZXMgZWl0aGVyIGEgc3BlY2lmaWMgZmllbGQgb3IgYWxsIGZpZWxkcyBpbiB0aGUgZm9ybSBncm91cC5cbiAgICpcbiAgICogQHBhcmFtIHtGb3JtR3JvdXB9IGZvcm1Hcm91cCAtIFRoZSBGb3JtR3JvdXAgdG8gdmFsaWRhdGUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZmllbGROYW1lXSAtIE9wdGlvbmFsIG5hbWUgb2YgYSBzcGVjaWZpYyBmaWVsZCB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IEluZGljYXRlcyB3aGV0aGVyIHRoZSB2YWxpZGF0aW9uIHBhc3NlZCAodHJ1ZSkgb3IgZmFpbGVkIChmYWxzZSkuXG4gICAqL1xuICBzdGF0aWMgdmFsaWRhdGVGaWVsZHMoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGZpZWxkTmFtZT86IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGZ1bmN0aW9uIGlzVmFsaWQoZm9ybUdyb3VwOiBGb3JtR3JvdXAsIGZpZWxkTmFtZTogc3RyaW5nKSB7XG4gICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChmaWVsZE5hbWUpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBGb3JtQ29udHJvbCkge1xuICAgICAgICBjb250cm9sLm1hcmtBc1RvdWNoZWQoKTtcbiAgICAgICAgY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICByZXR1cm4gIWNvbnRyb2wuaW52YWxpZDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgYmUgaW1wb3NzaWJsZScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChmaWVsZE5hbWUpIHJldHVybiBpc1ZhbGlkKGZvcm1Hcm91cCwgZmllbGROYW1lKTtcblxuICAgIGxldCBpc1ZhbGlkRm9ybSA9IHRydWU7XG4gICAgZm9yIChjb25zdCBmZyBvZiBmb3JtR3JvdXAuY29udHJvbHMgYXMgdW5rbm93biBhcyBGb3JtR3JvdXBbXSkge1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gZmcuY29udHJvbHMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGUgPSBpc1ZhbGlkKGZnLCBrZXkpO1xuICAgICAgICBpZiAoIXZhbGlkYXRlKSBpc1ZhbGlkRm9ybSA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBpc1ZhbGlkRm9ybTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAc3VtbWFyeSBDcmVhdGVzIGEgRm9ybUdyb3VwIGZyb20gZmllbGQgcHJvcGVydGllcy5cbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIEdlbmVyYXRlcyBhIG5ldyBGb3JtR3JvdXAgaW5zdGFuY2UgYmFzZWQgb24gdGhlIHByb3ZpZGVkIGZpZWxkIGRlZmluaXRpb24gYW5kIHVwZGF0ZSBtb2RlLlxuICAgKlxuICAgKiBAcGFyYW0ge0FuZ3VsYXJGaWVsZERlZmluaXRpb259IHByb3BzIC0gVGhlIEFuZ3VsYXIgZmllbGQgZGVmaW5pdGlvbiBwcm9wZXJ0aWVzLlxuICAgKiBAcGFyYW0ge0ZpZWxkVXBkYXRlTW9kZX0gdXBkYXRlTW9kZSAtIFRoZSB1cGRhdGUgbW9kZSBmb3IgdGhlIGZvcm0gZ3JvdXAuXG4gICAqIEByZXR1cm5zIHtGb3JtR3JvdXB9IEEgbmV3IEZvcm1Hcm91cCBpbnN0YW5jZS5cbiAgICovXG4gIHN0YXRpYyBmcm9tUHJvcHMoXG4gICAgcHJvcHM6IEFuZ3VsYXJGaWVsZERlZmluaXRpb24sXG4gICAgdXBkYXRlTW9kZTogRmllbGRVcGRhdGVNb2RlLFxuICApOiBGb3JtR3JvdXAge1xuICAgIGNvbnN0IGNvbnRyb2xzOiBSZWNvcmQ8c3RyaW5nLCBGb3JtQ29udHJvbD4gPSB7fTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gdGhpcy52YWxpZGF0b3JzRnJvbVByb3BzKHByb3BzKTtcbiAgICBjb25zdCBjb21wb3NlZCA9IHZhbGlkYXRvcnMubGVuZ3RoID8gVmFsaWRhdG9ycy5jb21wb3NlKHZhbGlkYXRvcnMpIDogbnVsbDtcbiAgICBjb250cm9sc1twcm9wcy5uYW1lXSA9IG5ldyBGb3JtQ29udHJvbChcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6XG4gICAgICAgICAgcHJvcHMudmFsdWUgJiYgcHJvcHMudHlwZSAhPT0gSFRNTDVJbnB1dFR5cGVzLkNIRUNLQk9YXG4gICAgICAgICAgICA/IHByb3BzLnZhbHVlXG4gICAgICAgICAgICA6IHVuZGVmaW5lZCxcbiAgICAgICAgZGlzYWJsZWQ6IHByb3BzLmRpc2FibGVkLFxuICAgICAgfSxcbiAgICAgIGNvbXBvc2VkLFxuICAgICk7XG5cbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cChjb250cm9scywgeyB1cGRhdGVPbjogdXBkYXRlTW9kZSB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBmb3JtIGJ5IGl0cyBJRCBmcm9tIHRoZSBzdG9yZWQgY29udHJvbHMuXG4gICAqXG4gICAqIEBwYXJhbSBpZCAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZm9ybSB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMgVGhlIGZvcm0gY29udHJvbHMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBJRC5cbiAgICogQHRocm93cyBFcnJvciBpZiB0aGUgZm9ybSB3aXRoIHRoZSBnaXZlbiBJRCBpcyBub3QgZm91bmQuXG4gICAqL1xuICBwcml2YXRlIHN0YXRpYyBnZXRGb3JtQnlJZChpZDogc3RyaW5nKSB7XG4gICAgaWYgKCEoaWQgaW4gTmd4Rm9ybVNlcnZpY2UuY29udHJvbHMpKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBmb3JtSWQgJHtpZH1gKTtcbiAgICByZXR1cm4gTmd4Rm9ybVNlcnZpY2UuY29udHJvbHNbaWRdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIHNwZWNpZmljIGZpZWxkIGZyb20gYSBmb3JtIGJ5IGl0cyBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtLlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBmaWVsZCB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMgVGhlIGZpZWxkIGNvbnRyb2wgYW5kIHByb3BlcnRpZXMuXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgdGhlIGZpZWxkIGlzIG5vdCBmb3VuZCBpbiB0aGUgZm9ybS5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIGdldEZpZWxkQnlOYW1lKGZvcm1JZDogc3RyaW5nLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBmb3JtID0gTmd4Rm9ybVNlcnZpY2UuZ2V0Rm9ybUJ5SWQoZm9ybUlkKTtcbiAgICBpZiAoIShuYW1lIGluIGZvcm0pKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgZmluZCBmaWVsZCAke25hbWV9IGluIGZvcm1gKTtcbiAgICByZXR1cm4gZm9ybVtuYW1lXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYW4gYXJyYXkgb2YgdmFsaWRhdG9yIGZ1bmN0aW9ucyBmcm9tIHRoZSBwcm92aWRlZCBmaWVsZCBwcm9wZXJ0aWVzLlxuICAgKlxuICAgKiBAcGFyYW0gcHJvcHMgLSBUaGUgZmllbGQgcHJvcGVydGllcyBjb250YWluaW5nIHZhbGlkYXRpb24gcnVsZXMuXG4gICAqIEByZXR1cm5zIEFuIGFycmF5IG9mIFZhbGlkYXRvckZuIGluc3RhbmNlcy5cbiAgICovXG4gIHByaXZhdGUgc3RhdGljIHZhbGlkYXRvcnNGcm9tUHJvcHMoXG4gICAgcHJvcHM6IEZpZWxkUHJvcGVydGllcyAmIEFuZ3VsYXJGaWVsZERlZmluaXRpb24sXG4gICk6IFZhbGlkYXRvckZuW10ge1xuICAgIGNvbnN0IHN1cHBvcnRlZFZhbGlkYXRpb25LZXlzID0gVmFsaWRhdGlvbi5rZXlzKCk7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHByb3BzKVxuICAgICAgLmZpbHRlcigoazogc3RyaW5nKSA9PiBzdXBwb3J0ZWRWYWxpZGF0aW9uS2V5cy5pbmNsdWRlcyhrKSlcbiAgICAgIC5tYXAoKGs6IHN0cmluZykgPT4gVmFsaWRhdG9yRmFjdG9yeS5zcGF3bihrLCBwcm9wc1trXSkpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBlbFxuICAgKiBAcGFyYW0gdGFnXG4gICAqXG4gICAqIEB0aHJvd3Mge0Vycm9yfSB3aGVuIG5vIHBhcmVudCBleGlzdHMgd2l0aCB0aGUgcHJvdmlkZWQgdGFnXG4gICAqL1xuICBzdGF0aWMgZ2V0UGFyZW50RWwoZWw6IEhUTUxFbGVtZW50LCB0YWc6IHN0cmluZykge1xuICAgIGxldCBwYXJlbnQ6IEhUTUxFbGVtZW50IHwgbnVsbDtcbiAgICB3aGlsZSAoKHBhcmVudCA9IGVsLnBhcmVudEVsZW1lbnQpICE9PSBudWxsKSB7XG4gICAgICBpZiAocGFyZW50LnRhZ05hbWUudG9Mb3dlckNhc2UoKSA9PT0gdGFnLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgcmV0dXJuIHBhcmVudDtcbiAgICAgIH1cbiAgICAgIGVsID0gcGFyZW50O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgTm8gcGFyZW50IHdpdGggdGhlIHRhZyAke3RhZ30gd2FzIGZvdW5kIGZvciBwcm92aWRlZCBlbGVtZW50YCxcbiAgICApO1xuICB9XG5cbiAgc3RhdGljIHJlZ2lzdGVyKFxuICAgIGZvcm1JZDogc3RyaW5nLFxuICAgIGNvbnRyb2w6IEZvcm1Hcm91cCxcbiAgICBwcm9wczogRmllbGRQcm9wZXJ0aWVzICYgQW5ndWxhckZpZWxkRGVmaW5pdGlvbixcbiAgKSB7XG4gICAgdGhpcy5jb250cm9sc1tmb3JtSWRdID0gdGhpcy5jb250cm9sc1tmb3JtSWRdIHx8IHt9O1xuICAgIHRoaXMuY29udHJvbHNbZm9ybUlkXVtwcm9wcy5uYW1lXSA9IHtcbiAgICAgIGNvbnRyb2w6IGNvbnRyb2wsXG4gICAgICBwcm9wczogcHJvcHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVbnJlZ2lzdGVycyBhIGZvcm0gb3IgYSBzcGVjaWZpYyBmaWVsZCBmcm9tIHRoZSBzZXJ2aWNlLlxuICAgKlxuICAgKiBAcGFyYW0gZm9ybUlkIC0gVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBmb3JtLlxuICAgKiBAcGFyYW0gZmllbGQgLSBPcHRpb25hbC4gVGhlIHNwZWNpZmljIGZpZWxkIHRvIHVucmVnaXN0ZXIuIElmIG5vdCBwcm92aWRlZCwgdGhlIGVudGlyZSBmb3JtIGlzIHVucmVnaXN0ZXJlZC5cbiAgICovXG4gIHN0YXRpYyB1bnJlZ2lzdGVyKGZvcm1JZDogc3RyaW5nLCBmaWVsZD86IEhUTUxFbGVtZW50KSB7XG4gICAgaWYgKCFmaWVsZCkgZGVsZXRlIHRoaXMuY29udHJvbHNbZm9ybUlkXTtcbiAgICBlbHNlXG4gICAgICBkZWxldGUgdGhpcy5jb250cm9sc1tmb3JtSWRdWyhmaWVsZCBhcyB1bmtub3duIGFzIHsgbmFtZTogc3RyaW5nIH0pLm5hbWVdO1xuICB9XG59XG4iXX0=
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { RenderingEngine } from '@decaf-ts/ui-decorators';
|
|
2
|
-
import { AngularEngineKeys } from './constants';
|
|
3
|
-
import { InternalError } from '@decaf-ts/db-decorators';
|
|
4
|
-
export class NgxRenderingEngine extends RenderingEngine {
|
|
5
|
-
constructor() {
|
|
6
|
-
super('angular');
|
|
7
|
-
}
|
|
8
|
-
async initialize(...args) {
|
|
9
|
-
if (this.initialized)
|
|
10
|
-
return;
|
|
11
|
-
// ValidatableByType[]
|
|
12
|
-
this.initialized = true;
|
|
13
|
-
}
|
|
14
|
-
static registerComponent(name, constructor, metadata) {
|
|
15
|
-
if (!this._components)
|
|
16
|
-
this._components = {};
|
|
17
|
-
if (name in this._components)
|
|
18
|
-
throw new InternalError(`Component already registered under ${name}`);
|
|
19
|
-
this._components[name] = {
|
|
20
|
-
constructor: constructor,
|
|
21
|
-
metadata: metadata,
|
|
22
|
-
};
|
|
23
|
-
}
|
|
24
|
-
static components(selector) {
|
|
25
|
-
if (!selector)
|
|
26
|
-
return Object.values(this._components);
|
|
27
|
-
if (!(selector in this._components))
|
|
28
|
-
throw new InternalError(`No Component registered under ${selector}`);
|
|
29
|
-
return this._components[selector];
|
|
30
|
-
}
|
|
31
|
-
static key(key) {
|
|
32
|
-
return `${AngularEngineKeys.REFLECT}${key}`;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4UmVuZGVyaW5nRW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvTmd4UmVuZGVyaW5nRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUF1QztJQU03RTtRQUNFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRVEsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQVc7UUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFDN0Isc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQ3RCLElBQVksRUFDWixXQUFpQyxFQUNqQyxRQUEyQjtRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVztZQUMxQixNQUFNLElBQUksYUFBYSxDQUFDLHNDQUFzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdkIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxNQUFNLElBQUksYUFBYSxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFVLEdBQUcsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyaW5nRW5naW5lIH0gZnJvbSAnQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgQW5ndWxhckZpZWxkRGVmaW5pdGlvbiwgQ29tcG9uZW50TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFuZ3VsYXJFbmdpbmVLZXlzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIE5neFJlbmRlcmluZ0VuZ2luZSBleHRlbmRzIFJlbmRlcmluZ0VuZ2luZTxBbmd1bGFyRmllbGREZWZpbml0aW9uPiB7XG4gIHByaXZhdGUgc3RhdGljIF9jb21wb25lbnRzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHsgY29uc3RydWN0b3I6IENvbnN0cnVjdG9yPHVua25vd24+OyBtZXRhZGF0YTogQ29tcG9uZW50TWV0YWRhdGEgfVxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdhbmd1bGFyJyk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgICAvLyBWYWxpZGF0YWJsZUJ5VHlwZVtdXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBzdGF0aWMgcmVnaXN0ZXJDb21wb25lbnQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3Rvcjx1bmtub3duPixcbiAgICBtZXRhZGF0YTogQ29tcG9uZW50TWV0YWRhdGEsXG4gICkge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50cykgdGhpcy5fY29tcG9uZW50cyA9IHt9O1xuICAgIGlmIChuYW1lIGluIHRoaXMuX2NvbXBvbmVudHMpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgQ29tcG9uZW50IGFscmVhZHkgcmVnaXN0ZXJlZCB1bmRlciAke25hbWV9YCk7XG4gICAgdGhpcy5fY29tcG9uZW50c1tuYW1lXSA9IHtcbiAgICAgIGNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvcixcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGNvbXBvbmVudHMoc2VsZWN0b3I/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,12 +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
|
-
NG_REFLECT: 'ng-reflect-',
|
|
7
|
-
};
|
|
8
|
-
export const FormConstants = {
|
|
9
|
-
VALID: 'VALID',
|
|
10
|
-
INVALID: 'INVALID',
|
|
11
|
-
};
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxXQUFXO0lBQ3JDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixVQUFVLEVBQUUsYUFBYTtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJS2V5cyB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEFuZ3VsYXJFbmdpbmVLZXlzID0ge1xuICBSRUZMRUNUOiBgJHtVSUtleXMuUkVGTEVDVH0uYW5ndWxhci5gLFxuICBEWU5BTUlDOiAnZHluYW1pYy1jb21wb25lbnQnLFxuICBBTk5PVEFUSU9OUzogJ19fYW5ub3RhdGlvbnNfXycsXG4gIE5HX1JFRkxFQ1Q6ICduZy1yZWZsZWN0LScsXG59O1xuXG5leHBvcnQgY29uc3QgRm9ybUNvbnN0YW50cyA9IHtcbiAgVkFMSUQ6ICdWQUxJRCcsXG4gIElOVkFMSUQ6ICdJTlZBTElEJyxcbn07XG4iXX0=
|
|
@@ -1,17 +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
|
-
export function Dynamic() {
|
|
6
|
-
return apply((original) => {
|
|
7
|
-
const annotation = Object.getOwnPropertyDescriptor(original, AngularEngineKeys.ANNOTATIONS);
|
|
8
|
-
if (!annotation || !annotation.value)
|
|
9
|
-
throw new InternalError(`Could not find Component metadata. @Dynamic decorator must come above @Component`);
|
|
10
|
-
// console.log(
|
|
11
|
-
// `Could not find Component metadata. @Dynamic decorator must come above @Component`,
|
|
12
|
-
// );
|
|
13
|
-
const decorator = annotation.value[0];
|
|
14
|
-
NgxRenderingEngine.registerComponent(decorator.selector, original, decorator);
|
|
15
|
-
}, metadata(NgxRenderingEngine.key(AngularEngineKeys.DYNAMIC), true));
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3hELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE9BQU8sS0FBSyxDQUNWLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1FBQ25CLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDaEQsUUFBUSxFQUNSLGlCQUFpQixDQUFDLFdBQVcsQ0FDOUIsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUNsQyxNQUFNLElBQUksYUFBYSxDQUNyQixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLGVBQWU7UUFDZix3RkFBd0Y7UUFDeEYsS0FBSztRQUNMLE1BQU0sU0FBUyxHQUFzQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELGtCQUFrQixDQUFDLGlCQUFpQixDQUNsQyxTQUFTLENBQUMsUUFBUSxFQUNsQixRQUEyQyxFQUMzQyxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUMsRUFDRCxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGx5LCBtZXRhZGF0YSB9IGZyb20gJ0BkZWNhZi10cy9yZWZsZWN0aW9uJztcbmltcG9ydCB7IE5neFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gJy4vTmd4UmVuZGVyaW5nRW5naW5lJztcbmltcG9ydCB7IEFuZ3VsYXJFbmdpbmVLZXlzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBEeW5hbWljKCkge1xuICByZXR1cm4gYXBwbHkoXG4gICAgKG9yaWdpbmFsOiBvYmplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb24gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgICBvcmlnaW5hbCxcbiAgICAgICAgQW5ndWxhckVuZ2luZUtleXMuQU5OT1RBVElPTlMsXG4gICAgICApO1xuICAgICAgaWYgKCFhbm5vdGF0aW9uIHx8ICFhbm5vdGF0aW9uLnZhbHVlKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgQ29tcG9uZW50IG1ldGFkYXRhLiBARHluYW1pYyBkZWNvcmF0b3IgbXVzdCBjb21lIGFib3ZlIEBDb21wb25lbnRgLFxuICAgICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2coXG4gICAgICAvLyAgIGBDb3VsZCBub3QgZmluZCBDb21wb25lbnQgbWV0YWRhdGEuIEBEeW5hbWljIGRlY29yYXRvciBtdXN0IGNvbWUgYWJvdmUgQENvbXBvbmVudGAsXG4gICAgICAvLyApO1xuICAgICAgY29uc3QgZGVjb3JhdG9yOiBDb21wb25lbnRNZXRhZGF0YSA9IGFubm90YXRpb24udmFsdWVbMF07XG4gICAgICBOZ3hSZW5kZXJpbmdFbmdpbmUucmVnaXN0ZXJDb21wb25lbnQoXG4gICAgICAgIGRlY29yYXRvci5zZWxlY3RvcixcbiAgICAgICAgb3JpZ2luYWwgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3Rvcjx1bmtub3duPixcbiAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgKTtcbiAgICB9LFxuICAgIG1ldGFkYXRhKE5neFJlbmRlcmluZ0VuZ2luZS5rZXkoQW5ndWxhckVuZ2luZUtleXMuRFlOQU1JQyksIHRydWUpLFxuICApO1xufVxuIl19
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRQcm9wZXJ0aWVzIH0gZnJvbSAnQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvbklucHV0LCBJb25TZWxlY3QsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkVXBkYXRlTW9kZSA9ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50TWV0YWRhdGEge1xuICBjaGFuZ2VEZXRlY3Rpb246IG51bWJlcjtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgaW1wb3J0czogKG5ldyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duKVtdO1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xuICBzdHlsZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBBbmd1bGFyRmllbGREZWZpbml0aW9uID0gRmllbGRQcm9wZXJ0aWVzICZcbiAgT21pdDxcbiAgICBJb25JbnB1dCxcbiAgICB8ICdpb25JbnB1dCdcbiAgICB8ICdpb25Gb2N1cydcbiAgICB8ICdpb25DaGFuZ2UnXG4gICAgfCAnaW9uQmx1cidcbiAgICB8ICdnZXRJbnB1dEVsZW1lbnQnXG4gICAgfCAnc2V0Rm9jdXMnXG4gICAgfCAnbGFiZWwnXG4gICAgfCAnZWwnXG4gICAgfCAneidcbiAgICB8ICd0eXBlJ1xuICA+ICZcbiAgUGljazxcbiAgICBJb25TZWxlY3QsXG4gICAgJ2NhbmNlbFRleHQnIHwgJ2ludGVyZmFjZScgfCAnc2VsZWN0ZWRUZXh0JyB8ICdpbnRlcmZhY2VPcHRpb25zJ1xuICA+ICZcbiAgUGljazxJb25UZXh0YXJlYSwgJ3Jvd3MnIHwgJ2NvbHMnPiAmXG4gIFBpY2s8SW9uQ2hlY2tib3gsICdhbGlnbm1lbnQnIHwgJ2p1c3RpZnknIHwgJ2NoZWNrZWQnPiAmIHtcbiAgICB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyB8ICdzZWxlY3QnIHwgVGV4dEZpZWxkVHlwZXMgfCAndGV4dGFyZWEnO1xuICAgIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG4gIH0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuZXhwb3J0IHR5cGUgU3RyaW5nT3JCb29sZWFuID0gJ3RydWUnIHwgJ2ZhbHNlJyB8IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIFNlbGVjdE9wdGlvbiA9IElucHV0T3B0aW9uICYgeyBzZWxlY3RlZD86IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIENoZWNrYm94T3B0aW9uID0gUmFkaW9PcHRpb247XG5leHBvcnQgdHlwZSBSYWRpb09wdGlvbiA9IElucHV0T3B0aW9uICYgeyBjaGVja2VkPzogYm9vbGVhbiB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIElucHV0T3B0aW9uIHtcbiAgdGV4dDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBkaXNhYmxlZD86IFN0cmluZ09yQm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBIVE1MRm9ybVRhcmdldCA9ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyB8IHN0cmluZztcbiJdfQ==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudEhvbGRlciB7XG4gIGNvbXBvbmVudDogRWxlbWVudFJlZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudCBleHRlbmRzIENvbXBvbmVudEhvbGRlciB7XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xufVxuIl19
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
export * from './components/decaf-model-renderer/decaf-model-renderer.component';
|
|
2
|
-
export * from './components/decaf-crud-field/decaf-crud-field.component';
|
|
3
|
-
export * from './components/decaf-crud-form/decaf-crud-form.component';
|
|
4
|
-
export * from './engine';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3B1YmxpYy1hcGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlY2FmLW1vZGVsLXJlbmRlcmVyL2RlY2FmLW1vZGVsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVjYWYtY3J1ZC1maWVsZC9kZWNhZi1jcnVkLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVjYWYtY3J1ZC1mb3JtL2RlY2FmLWNydWQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUnO1xuIl19
|