UNPKG

angular-bootstrap-italia

Version:

<p align="center"> <h1 align="center">Bootstrap Italia + Angular 9</h1>

96 lines 12.5 kB
import { __decorate } from "tslib"; import { Component, Input, Output, EventEmitter } from '@angular/core'; var DynamicFormElementComponent = /** @class */ (function () { function DynamicFormElementComponent() { this.newInsertEvent = new EventEmitter(); this.parentValue = null; } DynamicFormElementComponent.prototype.ngOnInit = function () { var _this = this; if (this.field.parentFieldKey) { this.parentSubscription = this.form.get(this.field.parentFieldKey) .valueChanges .subscribe(function (newValue) { var _a, _b, _c, _d; var validParent = false; if (_this.form.get(_this.field.parentFieldKey).valid && ((_a = _this.parentField) === null || _a === void 0 ? void 0 : _a.controlType) !== 'autocomplete') { validParent = true; } else if (((_b = _this.form.get(_this.field.parentFieldKey)) === null || _b === void 0 ? void 0 : _b.value) && typeof _this.form.get(_this.field.parentFieldKey).value === 'object' && Object.keys(_this.form.get(_this.field.parentFieldKey).value).length > 0) { validParent = true; } if (validParent) { if ((_c = _this.form.get(_this.field.key)) === null || _c === void 0 ? void 0 : _c.disabled) { _this.form.get(_this.field.key).enable(); } } else { if ((_d = _this.form.get(_this.field.key)) === null || _d === void 0 ? void 0 : _d.enable) { _this.form.get(_this.field.key).reset(); _this.form.get(_this.field.key).disable(); } } _this.parentValue = newValue; }); } }; DynamicFormElementComponent.prototype.ngOnDestroy = function () { if (this.parentSubscription) { this.parentSubscription.unsubscribe(); } }; Object.defineProperty(DynamicFormElementComponent.prototype, "isValid", { get: function () { return this.form.controls[this.field.key].valid; }, enumerable: true, configurable: true }); Object.defineProperty(DynamicFormElementComponent.prototype, "isTouched", { get: function () { return this.form.controls[this.field.key].touched; }, enumerable: true, configurable: true }); Object.defineProperty(DynamicFormElementComponent.prototype, "isDirty", { get: function () { return this.form.controls[this.field.key].dirty; }, enumerable: true, configurable: true }); Object.defineProperty(DynamicFormElementComponent.prototype, "isPristine", { get: function () { return this.form.controls[this.field.key].pristine; }, enumerable: true, configurable: true }); DynamicFormElementComponent.prototype.emitNewInsert = function (event) { this.newInsertEvent.emit(event); }; __decorate([ Input() ], DynamicFormElementComponent.prototype, "field", void 0); __decorate([ Input() ], DynamicFormElementComponent.prototype, "form", void 0); __decorate([ Input() ], DynamicFormElementComponent.prototype, "parentField", void 0); __decorate([ Output() ], DynamicFormElementComponent.prototype, "newInsertEvent", void 0); DynamicFormElementComponent = __decorate([ Component({ selector: 'lib-dynamic-form-element', template: "<div [ngSwitch]=\"field.controlType\">\r\n\r\n <lib-checkbox *ngSwitchCase=\"'checkbox'\" [field]=\"field\" [form]=\"form\" [valid]=\"isValid && (isTouched || isDirty)\"\r\n [invalid]=\"!isValid && (isTouched || isDirty)\">\r\n </lib-checkbox>\r\n\r\n <lib-textbox *ngSwitchCase=\"'textbox'\" [field]=\"field\" [form]=\"form\" [valid]=\"isValid && (isTouched || isDirty)\"\r\n [invalid]=\"!isValid && (isTouched || isDirty)\"></lib-textbox>\r\n\r\n <lib-textbox-number *ngSwitchCase=\"'textbox-number'\" [field]=\"field\" [form]=\"form\"\r\n [valid]=\"isValid && (isTouched || isDirty)\" [invalid]=\"!isValid && (isTouched || isDirty)\" [min]=\"field.min\" [max]=\"field.max\"></lib-textbox-number>\r\n\r\n <lib-textarea *ngSwitchCase=\"'textarea'\" [field]=\"field\" [form]=\"form\" [valid]=\"isValid && (isTouched || isDirty)\"\r\n [invalid]=\"!isValid && (isTouched || isDirty)\"></lib-textarea>\r\n\r\n <lib-select *ngSwitchCase=\"'dropdown'\" [field]=\"field\" [form]=\"form\" [valid]=\"isValid && (isTouched || isDirty)\"\r\n [invalid]=\"!isValid && (isTouched || isDirty)\"></lib-select>\r\n\r\n <lib-typeahead *ngSwitchCase=\"'autocomplete'\" [field]=\"field\" [form]=\"form\" [parentValue]=\"parentValue\" (newInsertEvent)=\"emitNewInsert($event)\"></lib-typeahead>\r\n\r\n <lib-date-picker *ngSwitchCase=\"'datepicker'\" [field]=\"field\" [form]=\"form\" [valid]=\"isValid && (isTouched || isDirty)\"\r\n [invalid]=\"!isValid && (isTouched || isDirty)\"></lib-date-picker>\r\n\r\n</div>\r\n", styles: [""] }) ], DynamicFormElementComponent); return DynamicFormElementComponent; }()); export { DynamicFormElementComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLWVsZW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhci1ib290c3RyYXAtaXRhbGlhLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS1lbGVtZW50L2R5bmFtaWMtZm9ybS1lbGVtZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFhMUY7SUFZRTtRQU5VLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUk5QyxnQkFBVyxHQUFXLElBQUksQ0FBQztJQUVYLENBQUM7SUFFakIsOENBQVEsR0FBUjtRQUFBLGlCQTZCQztRQTVCQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFO1lBQzdCLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQztpQkFDL0QsWUFBWTtpQkFDWixTQUFTLENBQUMsVUFBQSxRQUFROztnQkFDakIsSUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDO2dCQUV4QixJQUFJLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxJQUFJLE9BQUEsS0FBSSxDQUFDLFdBQVcsMENBQUUsV0FBVyxNQUFLLGNBQWMsRUFBRTtvQkFDdEcsV0FBVyxHQUFHLElBQUksQ0FBQztpQkFDcEI7cUJBQU0sSUFBSSxPQUFBLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLDBDQUFFLEtBQUssS0FDckQsT0FBTyxLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDLEtBQUssS0FBSyxRQUFRO3VCQUNsRSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDM0UsV0FBVyxHQUFHLElBQUksQ0FBQztpQkFDcEI7Z0JBRUQsSUFBSSxXQUFXLEVBQUU7b0JBQ2YsVUFBSSxLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQywwQ0FBRSxRQUFRLEVBQUU7d0JBQzNDLEtBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7cUJBQ3hDO2lCQUNGO3FCQUFNO29CQUNMLFVBQUksS0FBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsMENBQUUsTUFBTSxFQUFFO3dCQUN6QyxLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO3dCQUN0QyxLQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO3FCQUN6QztpQkFDRjtnQkFFRCxLQUFJLENBQUMsV0FBVyxHQUFJLFFBQVEsQ0FBQztZQUMvQixDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0gsQ0FBQztJQUVELGlEQUFXLEdBQVg7UUFDRSxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDdkM7SUFDSCxDQUFDO0lBRUQsc0JBQUksZ0RBQU87YUFBWDtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDbEQsQ0FBQzs7O09BQUE7SUFFRCxzQkFBSSxrREFBUzthQUFiO1lBQ0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQztRQUNwRCxDQUFDOzs7T0FBQTtJQUVELHNCQUFJLGdEQUFPO2FBQVg7WUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ2xELENBQUM7OztPQUFBO0lBRUQsc0JBQUksbURBQVU7YUFBZDtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDckQsQ0FBQzs7O09BQUE7SUFFRCxtREFBYSxHQUFiLFVBQWMsS0FBSztRQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBcEVRO1FBQVIsS0FBSyxFQUFFOzhEQUF5QjtJQUN4QjtRQUFSLEtBQUssRUFBRTs2REFBaUI7SUFFaEI7UUFBUixLQUFLLEVBQUU7b0VBQStCO0lBRTdCO1FBQVQsTUFBTSxFQUFFO3VFQUFxQztJQU5uQywyQkFBMkI7UUFMdkMsU0FBUyxDQUFDO1lBQ1QsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxnZ0RBQW9EOztTQUVyRCxDQUFDO09BQ1csMkJBQTJCLENBdUV2QztJQUFELGtDQUFDO0NBQUEsQUF2RUQsSUF1RUM7U0F2RVksMkJBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG4vLyBNb2RlbHNcclxuaW1wb3J0IHsgRm9ybUJhc2UgfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0tYmFzZSc7XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItZHluYW1pYy1mb3JtLWVsZW1lbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0tZWxlbWVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1mb3JtLWVsZW1lbnQuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1FbGVtZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBGb3JtQmFzZTxzdHJpbmc+O1xyXG4gIEBJbnB1dCgpIGZvcm06IEZvcm1Hcm91cDtcclxuXHJcbiAgQElucHV0KCkgcGFyZW50RmllbGQ6IEZvcm1CYXNlPHN0cmluZz47XHJcblxyXG4gIEBPdXRwdXQoKSBuZXdJbnNlcnRFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcGFyZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcblxyXG4gIHBhcmVudFZhbHVlOiBvYmplY3QgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmZpZWxkLnBhcmVudEZpZWxkS2V5KSB7XHJcbiAgICAgIHRoaXMucGFyZW50U3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLnBhcmVudEZpZWxkS2V5KVxyXG4gICAgICAgIC52YWx1ZUNoYW5nZXNcclxuICAgICAgICAuc3Vic2NyaWJlKG5ld1ZhbHVlID0+IHtcclxuICAgICAgICAgIGxldCB2YWxpZFBhcmVudCA9IGZhbHNlO1xyXG5cclxuICAgICAgICAgIGlmICh0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQucGFyZW50RmllbGRLZXkpLnZhbGlkICYmIHRoaXMucGFyZW50RmllbGQ/LmNvbnRyb2xUeXBlICE9PSAnYXV0b2NvbXBsZXRlJykge1xyXG4gICAgICAgICAgICB2YWxpZFBhcmVudCA9IHRydWU7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5wYXJlbnRGaWVsZEtleSk/LnZhbHVlXHJcbiAgICAgICAgICAgICYmIHR5cGVvZiB0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQucGFyZW50RmllbGRLZXkpLnZhbHVlID09PSAnb2JqZWN0J1xyXG4gICAgICAgICAgICAmJiBPYmplY3Qua2V5cyh0aGlzLmZvcm0uZ2V0KHRoaXMuZmllbGQucGFyZW50RmllbGRLZXkpLnZhbHVlKS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHZhbGlkUGFyZW50ID0gdHJ1ZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAodmFsaWRQYXJlbnQpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpPy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpLmVuYWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk/LmVuYWJsZSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZm9ybS5nZXQodGhpcy5maWVsZC5rZXkpLnJlc2V0KCk7XHJcbiAgICAgICAgICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSkuZGlzYWJsZSgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgdGhpcy5wYXJlbnRWYWx1ZSAgPSBuZXdWYWx1ZTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucGFyZW50U3Vic2NyaXB0aW9uKSB7XHJcbiAgICAgIHRoaXMucGFyZW50U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaXNWYWxpZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5maWVsZC5rZXldLnZhbGlkO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzVG91Y2hlZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5maWVsZC5rZXldLnRvdWNoZWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNEaXJ0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLmZvcm0uY29udHJvbHNbdGhpcy5maWVsZC5rZXldLmRpcnR5O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzUHJpc3RpbmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtLmNvbnRyb2xzW3RoaXMuZmllbGQua2V5XS5wcmlzdGluZTtcclxuICB9XHJcblxyXG4gIGVtaXROZXdJbnNlcnQoZXZlbnQpIHtcclxuICAgIHRoaXMubmV3SW5zZXJ0RXZlbnQuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=