UNPKG

@ng-dynamic-forms/core

Version:

A rapid form development library for Angular

31 lines 5.9 kB
import { Directive } from "@angular/core"; import { DynamicFormControlComponent } from "./dynamic-form-control.component"; import { isString } from "../utils/core.utils"; import * as i0 from "@angular/core"; import * as i1 from "../service/dynamic-form-layout.service"; import * as i2 from "../service/dynamic-form-validation.service"; // tslint:disable-next-line:directive-class-suffix export class DynamicFormControlWithTemplateComponent extends DynamicFormControlComponent { constructor(layoutService, validationService) { super(layoutService, validationService); this.layoutService = layoutService; this.validationService = validationService; } ngAfterViewInit() { this.layoutService .filterTemplatesByModel(this.model, this.templates) .forEach(template => this.bindTemplate(template)); } bindTemplate(template) { if (isString(template.as) && this.templateDirectives.has(template.as)) { const property = this.templateDirectives.get(template.as); this.viewChild[property] = this.mapTemplate(template); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicFormControlWithTemplateComponent, deps: [{ token: i1.DynamicFormLayoutService }, { token: i2.DynamicFormValidationService }], target: i0.ɵɵFactoryTarget.Directive }); } static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: DynamicFormControlWithTemplateComponent, usesInheritance: true, ngImport: i0 }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: DynamicFormControlWithTemplateComponent, decorators: [{ type: Directive }], ctorParameters: function () { return [{ type: i1.DynamicFormLayoutService }, { type: i2.DynamicFormValidationService }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWNvbnRyb2wtd2l0aC10ZW1wbGF0ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1keW5hbWljLWZvcm1zL2NvcmUvc3JjL2xpYi9jb21wb25lbnQvZHluYW1pYy1mb3JtLWNvbnRyb2wtd2l0aC10ZW1wbGF0ZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQixTQUFTLEVBQTBCLE1BQU0sZUFBZSxDQUFDO0FBR2pGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7OztBQUsvQyxrREFBa0Q7QUFDbEQsTUFBTSxPQUFnQix1Q0FBd0MsU0FBUSwyQkFBMkI7SUFPN0YsWUFBZ0MsYUFBdUMsRUFDdkMsaUJBQStDO1FBQzNFLEtBQUssQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUZaLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUN2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQThCO0lBRS9FLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGFBQWE7YUFDYixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUM7YUFDbEQsT0FBTyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFNRCxZQUFZLENBQUMsUUFBa0M7UUFDM0MsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25FLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBVyxDQUFDO1lBRXBFLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN6RDtJQUNMLENBQUM7OEdBNUJpQix1Q0FBdUM7a0dBQXZDLHVDQUF1Qzs7MkZBQXZDLHVDQUF1QztrQkFGNUQsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIERpcmVjdGl2ZSwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUNvbnRyb2xXaXRoVGVtcGxhdGUgfSBmcm9tIFwiLi9keW5hbWljLWZvcm0tY29udHJvbC13aXRoLXRlbXBsYXRlLWludGVyZmFjZVwiO1xuaW1wb3J0IHsgRHluYW1pY1RlbXBsYXRlRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2RpcmVjdGl2ZS9keW5hbWljLXRlbXBsYXRlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHluYW1pY0Zvcm1Db250cm9sQ29tcG9uZW50IH0gZnJvbSBcIi4vZHluYW1pYy1mb3JtLWNvbnRyb2wuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gXCIuLi91dGlscy9jb3JlLnV0aWxzXCI7XG5pbXBvcnQgeyBEeW5hbWljRm9ybUxheW91dFNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS9keW5hbWljLWZvcm0tbGF5b3V0LnNlcnZpY2VcIjtcbmltcG9ydCB7IER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS9keW5hbWljLWZvcm0tdmFsaWRhdGlvbi5zZXJ2aWNlXCI7XG5cbkBEaXJlY3RpdmUoKVxuLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmRpcmVjdGl2ZS1jbGFzcy1zdWZmaXhcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBEeW5hbWljRm9ybUNvbnRyb2xXaXRoVGVtcGxhdGVDb21wb25lbnQgZXh0ZW5kcyBEeW5hbWljRm9ybUNvbnRyb2xDb21wb25lbnRcbiAgICBpbXBsZW1lbnRzIER5bmFtaWNGb3JtQ29udHJvbFdpdGhUZW1wbGF0ZSwgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgICByZWFkb25seSB0ZW1wbGF0ZURpcmVjdGl2ZXMhOiBNYXA8c3RyaW5nLCBzdHJpbmc+O1xuXG4gICAgdGVtcGxhdGVzPzogUXVlcnlMaXN0PER5bmFtaWNUZW1wbGF0ZURpcmVjdGl2ZT4gfCBEeW5hbWljVGVtcGxhdGVEaXJlY3RpdmVbXTtcblxuICAgIHByb3RlY3RlZCBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgbGF5b3V0U2VydmljZTogRHluYW1pY0Zvcm1MYXlvdXRTZXJ2aWNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90ZWN0ZWQgdmFsaWRhdGlvblNlcnZpY2U6IER5bmFtaWNGb3JtVmFsaWRhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgc3VwZXIobGF5b3V0U2VydmljZSwgdmFsaWRhdGlvblNlcnZpY2UpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlXG4gICAgICAgICAgICAuZmlsdGVyVGVtcGxhdGVzQnlNb2RlbCh0aGlzLm1vZGVsLCB0aGlzLnRlbXBsYXRlcylcbiAgICAgICAgICAgIC5mb3JFYWNoKHRlbXBsYXRlID0+IHRoaXMuYmluZFRlbXBsYXRlKHRlbXBsYXRlKSk7XG4gICAgfVxuXG4gICAgYWJzdHJhY3QgZ2V0IHZpZXdDaGlsZCgpOiBhbnk7XG5cbiAgICBhYnN0cmFjdCBtYXBUZW1wbGF0ZSh0ZW1wbGF0ZTogRHluYW1pY1RlbXBsYXRlRGlyZWN0aXZlKTogRHluYW1pY1RlbXBsYXRlRGlyZWN0aXZlIHwgVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIGJpbmRUZW1wbGF0ZSh0ZW1wbGF0ZTogRHluYW1pY1RlbXBsYXRlRGlyZWN0aXZlKSB7XG4gICAgICAgIGlmIChpc1N0cmluZyh0ZW1wbGF0ZS5hcykgJiYgdGhpcy50ZW1wbGF0ZURpcmVjdGl2ZXMuaGFzKHRlbXBsYXRlLmFzKSkge1xuICAgICAgICAgICAgY29uc3QgcHJvcGVydHkgPSB0aGlzLnRlbXBsYXRlRGlyZWN0aXZlcy5nZXQodGVtcGxhdGUuYXMpIGFzIHN0cmluZztcblxuICAgICAgICAgICAgdGhpcy52aWV3Q2hpbGRbcHJvcGVydHldID0gdGhpcy5tYXBUZW1wbGF0ZSh0ZW1wbGF0ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=