UNPKG

angular-dynamic-forms-lite

Version:
72 lines 8.6 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { NgModule } from "@angular/core"; import { FormRootDirective } from "./form/form-root.directive"; import { DynamicFormsLiteService } from "./form/dynamic-forms-lite.service"; import { DynamicFormType, DEFAULT_FORM_COMPONENTS, DEFAULT_SUB_TYPE } from "./form-field/form-field-type"; import { ArrayComponent } from "./form-field/array/array.component"; import { GroupComponent } from "./form-field/group/group.component"; import { ReactiveFormsModule } from "@angular/forms"; import { SingleInputComponent } from "./form-field/single/single-input.component"; /** @type {?} */ const DEFAULT_COMPONENTS = new Map(); DEFAULT_COMPONENTS.set(DynamicFormType.SINGLE, { [DEFAULT_SUB_TYPE]: SingleInputComponent }); DEFAULT_COMPONENTS.set(DynamicFormType.GROUP, { [DEFAULT_SUB_TYPE]: GroupComponent }); DEFAULT_COMPONENTS.set(DynamicFormType.ARRAY, { [DEFAULT_SUB_TYPE]: ArrayComponent }); /** * The dynamic forms module lets you describe your forms in code. */ export class DynamicFormsLiteModule { /** * Enables the use of default form components. * @param {?=} defaultComponents * @return {?} */ static withDefaultComponents(defaultComponents = new Map()) { return [ { ngModule: DynamicFormsLiteModule, providers: [ { provide: DEFAULT_FORM_COMPONENTS, useValue: DynamicFormsLiteModule.mergeDefaultComponents(defaultComponents) } ] }, DynamicFormsLiteComponentsModule ]; } /** * @private * @param {?} defaultComponents * @return {?} */ static mergeDefaultComponents(defaultComponents) { /** @type {?} */ const result = new Map(DEFAULT_COMPONENTS); for (let [type, components] of defaultComponents) { result.set(type, Object.assign({}, result.get(type), (components || {}))); } return result; } } DynamicFormsLiteModule.decorators = [ { type: NgModule, args: [{ declarations: [FormRootDirective], providers: [DynamicFormsLiteService], imports: [ReactiveFormsModule], exports: [FormRootDirective] },] } ]; export class DynamicFormsLiteComponentsModule { } DynamicFormsLiteComponentsModule.decorators = [ { type: NgModule, args: [{ declarations: [SingleInputComponent, ArrayComponent, GroupComponent], entryComponents: [SingleInputComponent, ArrayComponent, GroupComponent], imports: [DynamicFormsLiteModule, ReactiveFormsModule] },] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy1saXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy1saXRlLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaWMtZm9ybXMtbGl0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFDTCxlQUFlLEVBQ2YsdUJBQXVCLEVBQ3ZCLGdCQUFnQixFQUVqQixNQUFNLDhCQUE4QixDQUFDO0FBQ3RDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDcEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNENBQTRDLENBQUM7O01BRTVFLGtCQUFrQixHQUF5QixJQUFJLEdBQUcsRUFBRTtBQUMxRCxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxDQUFDLENBQUM7QUFDN0Ysa0JBQWtCLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztBQUN0RixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDOzs7O0FBV3RGLE1BQU0sT0FBTyxzQkFBc0I7Ozs7OztJQUlqQyxNQUFNLENBQUMscUJBQXFCLENBQzFCLG9CQUEwQyxJQUFJLEdBQUcsRUFBRTtRQUVuRCxPQUFPO1lBQ0w7Z0JBQ0UsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQztxQkFDM0U7aUJBQ0Y7YUFDRjtZQUNELGdDQUFnQztTQUNqQyxDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBRU8sTUFBTSxDQUFDLHNCQUFzQixDQUFDLGlCQUF1Qzs7Y0FDckUsTUFBTSxHQUFHLElBQUksR0FBRyxDQUFDLGtCQUFrQixDQUFDO1FBQzFDLEtBQUssSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsSUFBSSxpQkFBaUIsRUFBRTtZQUNoRCxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksb0JBQ1YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFDaEIsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLEVBQ3JCLENBQUM7U0FDSjtRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7OztZQXJDRixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7Z0JBQ2pDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2dCQUNwQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7YUFDN0I7O0FBd0NELE1BQU0sT0FBTyxnQ0FBZ0M7OztZQUw1QyxRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQztnQkFDcEUsZUFBZSxFQUFFLENBQUMsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLGNBQWMsQ0FBQztnQkFDdkUsT0FBTyxFQUFFLENBQUMsc0JBQXNCLEVBQUUsbUJBQW1CLENBQUM7YUFDdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtUm9vdERpcmVjdGl2ZSB9IGZyb20gXCIuL2Zvcm0vZm9ybS1yb290LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1zTGl0ZVNlcnZpY2UgfSBmcm9tIFwiLi9mb3JtL2R5bmFtaWMtZm9ybXMtbGl0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBEeW5hbWljRm9ybVR5cGUsXG4gIERFRkFVTFRfRk9STV9DT01QT05FTlRTLFxuICBERUZBVUxUX1NVQl9UWVBFLFxuICBGb3JtQ29tcG9uZW50c0J5VHlwZVxufSBmcm9tIFwiLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdHlwZVwiO1xuaW1wb3J0IHsgQXJyYXlDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL2FycmF5L2FycmF5LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgR3JvdXBDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL2dyb3VwL2dyb3VwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgU2luZ2xlSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL3NpbmdsZS9zaW5nbGUtaW5wdXQuY29tcG9uZW50XCI7XG5cbmNvbnN0IERFRkFVTFRfQ09NUE9ORU5UUzogRm9ybUNvbXBvbmVudHNCeVR5cGUgPSBuZXcgTWFwKCk7XG5ERUZBVUxUX0NPTVBPTkVOVFMuc2V0KER5bmFtaWNGb3JtVHlwZS5TSU5HTEUsIHsgW0RFRkFVTFRfU1VCX1RZUEVdOiBTaW5nbGVJbnB1dENvbXBvbmVudCB9KTtcbkRFRkFVTFRfQ09NUE9ORU5UUy5zZXQoRHluYW1pY0Zvcm1UeXBlLkdST1VQLCB7IFtERUZBVUxUX1NVQl9UWVBFXTogR3JvdXBDb21wb25lbnQgfSk7XG5ERUZBVUxUX0NPTVBPTkVOVFMuc2V0KER5bmFtaWNGb3JtVHlwZS5BUlJBWSwgeyBbREVGQVVMVF9TVUJfVFlQRV06IEFycmF5Q29tcG9uZW50IH0pO1xuXG4vKipcbiAqIFRoZSBkeW5hbWljIGZvcm1zIG1vZHVsZSBsZXRzIHlvdSBkZXNjcmliZSB5b3VyIGZvcm1zIGluIGNvZGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Zvcm1Sb290RGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbRHluYW1pY0Zvcm1zTGl0ZVNlcnZpY2VdLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtGb3JtUm9vdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSB7XG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSB1c2Ugb2YgZGVmYXVsdCBmb3JtIGNvbXBvbmVudHMuXG4gICAqL1xuICBzdGF0aWMgd2l0aERlZmF1bHRDb21wb25lbnRzKFxuICAgIGRlZmF1bHRDb21wb25lbnRzOiBGb3JtQ29tcG9uZW50c0J5VHlwZSA9IG5ldyBNYXAoKVxuICApOiAoTW9kdWxlV2l0aFByb3ZpZGVyczxEeW5hbWljRm9ybXNMaXRlTW9kdWxlPiB8IER5bmFtaWNGb3Jtc0xpdGVDb21wb25lbnRzTW9kdWxlKVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuZ01vZHVsZTogRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSxcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREVGQVVMVF9GT1JNX0NPTVBPTkVOVFMsXG4gICAgICAgICAgICB1c2VWYWx1ZTogRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZS5tZXJnZURlZmF1bHRDb21wb25lbnRzKGRlZmF1bHRDb21wb25lbnRzKVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIER5bmFtaWNGb3Jtc0xpdGVDb21wb25lbnRzTW9kdWxlXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1lcmdlRGVmYXVsdENvbXBvbmVudHMoZGVmYXVsdENvbXBvbmVudHM6IEZvcm1Db21wb25lbnRzQnlUeXBlKTogRm9ybUNvbXBvbmVudHNCeVR5cGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXAoREVGQVVMVF9DT01QT05FTlRTKTtcbiAgICBmb3IgKGxldCBbdHlwZSwgY29tcG9uZW50c10gb2YgZGVmYXVsdENvbXBvbmVudHMpIHtcbiAgICAgIHJlc3VsdC5zZXQodHlwZSwge1xuICAgICAgICAuLi5yZXN1bHQuZ2V0KHR5cGUpLFxuICAgICAgICAuLi4oY29tcG9uZW50cyB8fCB7fSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2luZ2xlSW5wdXRDb21wb25lbnQsIEFycmF5Q29tcG9uZW50LCBHcm91cENvbXBvbmVudF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1NpbmdsZUlucHV0Q29tcG9uZW50LCBBcnJheUNvbXBvbmVudCwgR3JvdXBDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1zTGl0ZUNvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==