angular-dynamic-forms-lite
Version:
Efficient dynamic and customizable Angular 7+ forms.
107 lines • 10.2 kB
JavaScript
var _a, _b, _c;
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
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 {?} */
var DEFAULT_COMPONENTS = new Map();
DEFAULT_COMPONENTS.set(DynamicFormType.SINGLE, (_a = {}, _a[DEFAULT_SUB_TYPE] = SingleInputComponent, _a));
DEFAULT_COMPONENTS.set(DynamicFormType.GROUP, (_b = {}, _b[DEFAULT_SUB_TYPE] = GroupComponent, _b));
DEFAULT_COMPONENTS.set(DynamicFormType.ARRAY, (_c = {}, _c[DEFAULT_SUB_TYPE] = ArrayComponent, _c));
/**
* The dynamic forms module lets you describe your forms in code.
*/
var DynamicFormsLiteModule = /** @class */ (function () {
function DynamicFormsLiteModule() {
}
/**
* Enables the use of default form components.
*/
/**
* Enables the use of default form components.
* @param {?=} defaultComponents
* @return {?}
*/
DynamicFormsLiteModule.withDefaultComponents = /**
* Enables the use of default form components.
* @param {?=} defaultComponents
* @return {?}
*/
function (defaultComponents) {
if (defaultComponents === void 0) { defaultComponents = new Map(); }
return [
{
ngModule: DynamicFormsLiteModule,
providers: [
{
provide: DEFAULT_FORM_COMPONENTS,
useValue: DynamicFormsLiteModule.mergeDefaultComponents(defaultComponents)
}
]
},
DynamicFormsLiteComponentsModule
];
};
/**
* @private
* @param {?} defaultComponents
* @return {?}
*/
DynamicFormsLiteModule.mergeDefaultComponents = /**
* @private
* @param {?} defaultComponents
* @return {?}
*/
function (defaultComponents) {
var e_1, _a;
/** @type {?} */
var result = new Map(DEFAULT_COMPONENTS);
try {
for (var defaultComponents_1 = tslib_1.__values(defaultComponents), defaultComponents_1_1 = defaultComponents_1.next(); !defaultComponents_1_1.done; defaultComponents_1_1 = defaultComponents_1.next()) {
var _b = tslib_1.__read(defaultComponents_1_1.value, 2), type = _b[0], components = _b[1];
result.set(type, tslib_1.__assign({}, result.get(type), (components || {})));
}
}
catch (e_1_1) { e_1 = { error: e_1_1 }; }
finally {
try {
if (defaultComponents_1_1 && !defaultComponents_1_1.done && (_a = defaultComponents_1.return)) _a.call(defaultComponents_1);
}
finally { if (e_1) throw e_1.error; }
}
return result;
};
DynamicFormsLiteModule.decorators = [
{ type: NgModule, args: [{
declarations: [FormRootDirective],
providers: [DynamicFormsLiteService],
imports: [ReactiveFormsModule],
exports: [FormRootDirective]
},] }
];
return DynamicFormsLiteModule;
}());
export { DynamicFormsLiteModule };
var DynamicFormsLiteComponentsModule = /** @class */ (function () {
function DynamicFormsLiteComponentsModule() {
}
DynamicFormsLiteComponentsModule.decorators = [
{ type: NgModule, args: [{
declarations: [SingleInputComponent, ArrayComponent, GroupComponent],
entryComponents: [SingleInputComponent, ArrayComponent, GroupComponent],
imports: [DynamicFormsLiteModule, ReactiveFormsModule]
},] }
];
return DynamicFormsLiteComponentsModule;
}());
export { DynamicFormsLiteComponentsModule };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3Jtcy1saXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItZHluYW1pYy1mb3Jtcy1saXRlLyIsInNvdXJjZXMiOlsibGliL2R5bmFtaWMtZm9ybXMtbGl0ZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUFFLFFBQVEsRUFBdUIsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDL0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDNUUsT0FBTyxFQUNMLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsZ0JBQWdCLEVBRWpCLE1BQU0sOEJBQThCLENBQUM7QUFDdEMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQzs7SUFFNUUsa0JBQWtCLEdBQXlCLElBQUksR0FBRyxFQUFFO0FBQzFELGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsTUFBTSxZQUFJLEdBQUMsZ0JBQWdCLElBQUcsb0JBQW9CLE1BQUcsQ0FBQztBQUM3RixrQkFBa0IsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEtBQUssWUFBSSxHQUFDLGdCQUFnQixJQUFHLGNBQWMsTUFBRyxDQUFDO0FBQ3RGLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsS0FBSyxZQUFJLEdBQUMsZ0JBQWdCLElBQUcsY0FBYyxNQUFHLENBQUM7Ozs7QUFLdEY7SUFBQTtJQXNDQSxDQUFDO0lBL0JDOztPQUVHOzs7Ozs7SUFDSSw0Q0FBcUI7Ozs7O0lBQTVCLFVBQ0UsaUJBQW1EO1FBQW5ELGtDQUFBLEVBQUEsd0JBQThDLEdBQUcsRUFBRTtRQUVuRCxPQUFPO1lBQ0w7Z0JBQ0UsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsU0FBUyxFQUFFO29CQUNUO3dCQUNFLE9BQU8sRUFBRSx1QkFBdUI7d0JBQ2hDLFFBQVEsRUFBRSxzQkFBc0IsQ0FBQyxzQkFBc0IsQ0FBQyxpQkFBaUIsQ0FBQztxQkFDM0U7aUJBQ0Y7YUFDRjtZQUNELGdDQUFnQztTQUNqQyxDQUFDO0lBQ0osQ0FBQzs7Ozs7O0lBRWMsNkNBQXNCOzs7OztJQUFyQyxVQUFzQyxpQkFBdUM7OztZQUNyRSxNQUFNLEdBQUcsSUFBSSxHQUFHLENBQUMsa0JBQWtCLENBQUM7O1lBQzFDLEtBQStCLElBQUEsc0JBQUEsaUJBQUEsaUJBQWlCLENBQUEsb0RBQUEsbUZBQUU7Z0JBQXpDLElBQUEsbURBQWtCLEVBQWpCLFlBQUksRUFBRSxrQkFBVTtnQkFDeEIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLHVCQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQ2hCLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxFQUNyQixDQUFDO2FBQ0o7Ozs7Ozs7OztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O2dCQXJDRixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUJBQWlCLENBQUM7b0JBQ2pDLFNBQVMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsaUJBQWlCLENBQUM7aUJBQzdCOztJQWlDRCw2QkFBQztDQUFBLEFBdENELElBc0NDO1NBaENZLHNCQUFzQjtBQWtDbkM7SUFBQTtJQUsrQyxDQUFDOztnQkFML0MsUUFBUSxTQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUM7b0JBQ3BFLGVBQWUsRUFBRSxDQUFDLG9CQUFvQixFQUFFLGNBQWMsRUFBRSxjQUFjLENBQUM7b0JBQ3ZFLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1CQUFtQixDQUFDO2lCQUN2RDs7SUFDOEMsdUNBQUM7Q0FBQSxBQUxoRCxJQUtnRDtTQUFuQyxnQ0FBZ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgTW9kdWxlV2l0aFByb3ZpZGVycyB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3JtUm9vdERpcmVjdGl2ZSB9IGZyb20gXCIuL2Zvcm0vZm9ybS1yb290LmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1zTGl0ZVNlcnZpY2UgfSBmcm9tIFwiLi9mb3JtL2R5bmFtaWMtZm9ybXMtbGl0ZS5zZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBEeW5hbWljRm9ybVR5cGUsXG4gIERFRkFVTFRfRk9STV9DT01QT05FTlRTLFxuICBERUZBVUxUX1NVQl9UWVBFLFxuICBGb3JtQ29tcG9uZW50c0J5VHlwZVxufSBmcm9tIFwiLi9mb3JtLWZpZWxkL2Zvcm0tZmllbGQtdHlwZVwiO1xuaW1wb3J0IHsgQXJyYXlDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL2FycmF5L2FycmF5LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgR3JvdXBDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL2dyb3VwL2dyb3VwLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgU2luZ2xlSW5wdXRDb21wb25lbnQgfSBmcm9tIFwiLi9mb3JtLWZpZWxkL3NpbmdsZS9zaW5nbGUtaW5wdXQuY29tcG9uZW50XCI7XG5cbmNvbnN0IERFRkFVTFRfQ09NUE9ORU5UUzogRm9ybUNvbXBvbmVudHNCeVR5cGUgPSBuZXcgTWFwKCk7XG5ERUZBVUxUX0NPTVBPTkVOVFMuc2V0KER5bmFtaWNGb3JtVHlwZS5TSU5HTEUsIHsgW0RFRkFVTFRfU1VCX1RZUEVdOiBTaW5nbGVJbnB1dENvbXBvbmVudCB9KTtcbkRFRkFVTFRfQ09NUE9ORU5UUy5zZXQoRHluYW1pY0Zvcm1UeXBlLkdST1VQLCB7IFtERUZBVUxUX1NVQl9UWVBFXTogR3JvdXBDb21wb25lbnQgfSk7XG5ERUZBVUxUX0NPTVBPTkVOVFMuc2V0KER5bmFtaWNGb3JtVHlwZS5BUlJBWSwgeyBbREVGQVVMVF9TVUJfVFlQRV06IEFycmF5Q29tcG9uZW50IH0pO1xuXG4vKipcbiAqIFRoZSBkeW5hbWljIGZvcm1zIG1vZHVsZSBsZXRzIHlvdSBkZXNjcmliZSB5b3VyIGZvcm1zIGluIGNvZGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0Zvcm1Sb290RGlyZWN0aXZlXSxcbiAgcHJvdmlkZXJzOiBbRHluYW1pY0Zvcm1zTGl0ZVNlcnZpY2VdLFxuICBpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZV0sXG4gIGV4cG9ydHM6IFtGb3JtUm9vdERpcmVjdGl2ZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSB7XG4gIC8qKlxuICAgKiBFbmFibGVzIHRoZSB1c2Ugb2YgZGVmYXVsdCBmb3JtIGNvbXBvbmVudHMuXG4gICAqL1xuICBzdGF0aWMgd2l0aERlZmF1bHRDb21wb25lbnRzKFxuICAgIGRlZmF1bHRDb21wb25lbnRzOiBGb3JtQ29tcG9uZW50c0J5VHlwZSA9IG5ldyBNYXAoKVxuICApOiAoTW9kdWxlV2l0aFByb3ZpZGVyczxEeW5hbWljRm9ybXNMaXRlTW9kdWxlPiB8IER5bmFtaWNGb3Jtc0xpdGVDb21wb25lbnRzTW9kdWxlKVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAge1xuICAgICAgICBuZ01vZHVsZTogRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSxcbiAgICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogREVGQVVMVF9GT1JNX0NPTVBPTkVOVFMsXG4gICAgICAgICAgICB1c2VWYWx1ZTogRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZS5tZXJnZURlZmF1bHRDb21wb25lbnRzKGRlZmF1bHRDb21wb25lbnRzKVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIER5bmFtaWNGb3Jtc0xpdGVDb21wb25lbnRzTW9kdWxlXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1lcmdlRGVmYXVsdENvbXBvbmVudHMoZGVmYXVsdENvbXBvbmVudHM6IEZvcm1Db21wb25lbnRzQnlUeXBlKTogRm9ybUNvbXBvbmVudHNCeVR5cGUge1xuICAgIGNvbnN0IHJlc3VsdCA9IG5ldyBNYXAoREVGQVVMVF9DT01QT05FTlRTKTtcbiAgICBmb3IgKGxldCBbdHlwZSwgY29tcG9uZW50c10gb2YgZGVmYXVsdENvbXBvbmVudHMpIHtcbiAgICAgIHJlc3VsdC5zZXQodHlwZSwge1xuICAgICAgICAuLi5yZXN1bHQuZ2V0KHR5cGUpLFxuICAgICAgICAuLi4oY29tcG9uZW50cyB8fCB7fSlcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbU2luZ2xlSW5wdXRDb21wb25lbnQsIEFycmF5Q29tcG9uZW50LCBHcm91cENvbXBvbmVudF0sXG4gIGVudHJ5Q29tcG9uZW50czogW1NpbmdsZUlucHV0Q29tcG9uZW50LCBBcnJheUNvbXBvbmVudCwgR3JvdXBDb21wb25lbnRdLFxuICBpbXBvcnRzOiBbRHluYW1pY0Zvcm1zTGl0ZU1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1zTGl0ZUNvbXBvbmVudHNNb2R1bGUge31cbiJdfQ==