angular-bootstrap-italia
Version:
<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>
56 lines • 6.73 kB
JavaScript
import { __decorate, __read, __spread } from "tslib";
import { Component, Input, ChangeDetectionStrategy, Output, EventEmitter } from '@angular/core';
// Services
import { DynamicFormControlService } from './dynamic-form-control.service';
var DynamicFormComponent = /** @class */ (function () {
function DynamicFormComponent(qcs) {
this.qcs = qcs;
this.rows = [];
this.submitEvent = new EventEmitter();
this.cancelEvent = new EventEmitter();
this.payLoad = '';
}
DynamicFormComponent.prototype.ngOnInit = function () {
if (!this.submitLabel) {
this.submitLabel = 'Conferma';
}
var elements = [].concat.apply([], __spread(this.rows.map(function (e) { return e.items; })));
this.form = this.qcs.toFormGroup(elements, this.defaultState);
};
DynamicFormComponent.prototype.onSubmit = function () {
this.submitEvent.emit(this.form.getRawValue());
};
DynamicFormComponent.prototype.onCancel = function () {
this.form.reset();
this.cancelEvent.emit();
};
DynamicFormComponent.ctorParameters = function () { return [
{ type: DynamicFormControlService }
]; };
__decorate([
Input()
], DynamicFormComponent.prototype, "rows", void 0);
__decorate([
Input()
], DynamicFormComponent.prototype, "defaultState", void 0);
__decorate([
Input()
], DynamicFormComponent.prototype, "submitLabel", void 0);
__decorate([
Output()
], DynamicFormComponent.prototype, "submitEvent", void 0);
__decorate([
Output()
], DynamicFormComponent.prototype, "cancelEvent", void 0);
DynamicFormComponent = __decorate([
Component({
selector: 'lib-dynamic-form',
template: "<div>\r\n <form (ngSubmit)=\"onSubmit()\" [formGroup]=\"form\">\r\n\r\n <div *ngFor=\"let row of rows\">\r\n <div class=\"form-row\">\r\n <div *ngFor=\"let item of row.items\" [ngClass]=\"item.class\">\r\n <lib-dynamic-form-element [field]=\"item\" [form]=\"form\">\r\n </lib-dynamic-form-element>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-content></ng-content>\r\n\r\n <div class=\"form-row mt-5\">\r\n <div class=\"form-group col text-center\">\r\n <button type=\"button\" class=\"btn btn-outline-primary mr-1\" (click)=\"onCancel()\">Annulla</button>\r\n <button type=\"submit\" class=\"btn btn-primary\" [disabled]=\"!form.valid\">{{ submitLabel }}</button>\r\n </div>\r\n </div>\r\n </form>\r\n\r\n <div *ngIf=\"payLoad\" class=\"form-row\">\r\n <strong>Saved the following values</strong><br>{{payLoad}}\r\n </div>\r\n</div>\r\n",
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [""]
})
], DynamicFormComponent);
return DynamicFormComponent;
}());
export { DynamicFormComponent };
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYm9vdHN0cmFwLWl0YWxpYS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTXhHLFdBQVc7QUFDWCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQVMzRTtJQVlFLDhCQUFvQixHQUE4QjtRQUE5QixRQUFHLEdBQUgsR0FBRyxDQUEyQjtRQVZ6QyxTQUFJLEdBQXNCLEVBQUUsQ0FBQztRQUk1QixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzNDLFlBQU8sR0FBRyxFQUFFLENBQUM7SUFFMEMsQ0FBQztJQUV4RCx1Q0FBUSxHQUFSO1FBQ0UsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7U0FDL0I7UUFFRCxJQUFNLFFBQVEsR0FBRyxFQUFFLENBQUMsTUFBTSxPQUFULEVBQUUsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFBLENBQUMsSUFBSSxPQUFBLENBQUMsQ0FBQyxLQUFLLEVBQVAsQ0FBTyxDQUFDLEVBQUMsQ0FBQztRQUMzRCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQztJQUVELHVDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELHVDQUFRLEdBQVI7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUIsQ0FBQzs7Z0JBbEJ3Qix5QkFBeUI7O0lBVnpDO1FBQVIsS0FBSyxFQUFFO3NEQUE4QjtJQUM3QjtRQUFSLEtBQUssRUFBRTs4REFBbUI7SUFDbEI7UUFBUixLQUFLLEVBQUU7NkRBQXFCO0lBRW5CO1FBQVQsTUFBTSxFQUFFOzZEQUFrQztJQUNqQztRQUFULE1BQU0sRUFBRTs2REFBa0M7SUFQaEMsb0JBQW9CO1FBTmhDLFNBQVMsQ0FBQztZQUNULFFBQVEsRUFBRSxrQkFBa0I7WUFDNUIseTZCQUE0QztZQUU1QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7U0FDaEQsQ0FBQztPQUNXLG9CQUFvQixDQStCaEM7SUFBRCwyQkFBQztDQUFBLEFBL0JELElBK0JDO1NBL0JZLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbi8vIEZvcm0gTW9kZWxzXHJcbmltcG9ydCB7IEZvcm1Sb3cgfSBmcm9tICcuLi9mb3JtL2Zvcm0tcm93JztcclxuXHJcbi8vIFNlcnZpY2VzXHJcbmltcG9ydCB7IER5bmFtaWNGb3JtQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZm9ybS1jb250cm9sLnNlcnZpY2UnO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWR5bmFtaWMtZm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgQElucHV0KCkgcm93czogRm9ybVJvdzxzdHJpbmc+W10gPSBbXTtcclxuICBASW5wdXQoKSBkZWZhdWx0U3RhdGU6IGFueTtcclxuICBASW5wdXQoKSBzdWJtaXRMYWJlbDogc3RyaW5nO1xyXG5cclxuICBAT3V0cHV0KCkgc3VibWl0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNhbmNlbEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBmb3JtOiBGb3JtR3JvdXA7XHJcbiAgcGF5TG9hZCA9ICcnO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHFjczogRHluYW1pY0Zvcm1Db250cm9sU2VydmljZSkgeyAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICghdGhpcy5zdWJtaXRMYWJlbCkge1xyXG4gICAgICB0aGlzLnN1Ym1pdExhYmVsID0gJ0NvbmZlcm1hJztcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBlbGVtZW50cyA9IFtdLmNvbmNhdCguLi50aGlzLnJvd3MubWFwKGUgPT4gZS5pdGVtcykpO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5xY3MudG9Gb3JtR3JvdXAoZWxlbWVudHMsIHRoaXMuZGVmYXVsdFN0YXRlKTtcclxuICB9XHJcblxyXG4gIG9uU3VibWl0KCkge1xyXG4gICAgdGhpcy5zdWJtaXRFdmVudC5lbWl0KHRoaXMuZm9ybS5nZXRSYXdWYWx1ZSgpKTtcclxuICB9XHJcblxyXG4gIG9uQ2FuY2VsKCkge1xyXG4gICAgdGhpcy5mb3JtLnJlc2V0KCk7XHJcbiAgICB0aGlzLmNhbmNlbEV2ZW50LmVtaXQoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==