UNPKG

ng-fveh

Version:

NG-FVEH - Some helpers to help you with form validation :)

59 lines (58 loc) 4.18 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes} checked by tsc */ import { Component, Input } from '@angular/core'; import { FormControl } from '@angular/forms'; import { NgFvehLibService } from '../../ng-fveh-lib.service'; export class ErrorsPresenterComponent { /** * @param {?} service */ constructor(service) { this.service = service; } /** * @return {?} */ getFieldErrors() { return Object.keys(this.field.errors); } /** * @param {?} errorPropertyName * @return {?} */ getErrorMessage(errorPropertyName) { const /** @type {?} */ errorPayload = this.field.errors[errorPropertyName]; return this.service.getMessage(errorPropertyName, errorPayload); } /** * @return {?} */ hasErrors() { return this.field.touched && this.field.invalid && !!this.field.errors; } } ErrorsPresenterComponent.decorators = [ { type: Component, args: [{ selector: 'fveh-errors-presenter', template: `<div *ngIf="hasErrors()"> <div *ngFor="let error of getFieldErrors()">{{ getErrorMessage(error) }}</div> </div>`, styles: [``], },] }, ]; /** @nocollapse */ ErrorsPresenterComponent.ctorParameters = () => [ { type: NgFvehLibService } ]; ErrorsPresenterComponent.propDecorators = { field: [{ type: Input }] }; function ErrorsPresenterComponent_tsickle_Closure_declarations() { /** @type {?} */ ErrorsPresenterComponent.prototype.field; /** @type {?} */ ErrorsPresenterComponent.prototype.service; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLXByZXNlbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mdmVoLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXJyb3JzLXByZXNlbnRlci9lcnJvcnMtcHJlc2VudGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUzdELE1BQU07Ozs7SUFHSixZQUFtQixPQUF5QjtRQUF6QixZQUFPLEdBQVAsT0FBTyxDQUFrQjtLQUFJOzs7O0lBRWhELGNBQWM7UUFDWixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN2Qzs7Ozs7SUFFRCxlQUFlLENBQUMsaUJBQXlCO1FBQ3ZDLHVCQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUM7S0FDakU7Ozs7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDeEU7OztZQXZCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtnQkFDakMsUUFBUSxFQUFFOztPQUVMO2dCQUNMLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQzthQUNiOzs7O1lBUlEsZ0JBQWdCOzs7b0JBVXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOZ0Z2ZWhMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbmctZnZlaC1saWIuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2Z2ZWgtZXJyb3JzLXByZXNlbnRlcicsXHJcbiAgdGVtcGxhdGU6IGA8ZGl2ICpuZ0lmPVwiaGFzRXJyb3JzKClcIj5cclxuICA8ZGl2ICpuZ0Zvcj1cImxldCBlcnJvciBvZiBnZXRGaWVsZEVycm9ycygpXCI+e3sgZ2V0RXJyb3JNZXNzYWdlKGVycm9yKSB9fTwvZGl2PlxyXG48L2Rpdj5gLFxyXG4gIHN0eWxlczogW2BgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEVycm9yc1ByZXNlbnRlckNvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgZmllbGQ6IEZvcm1Db250cm9sO1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc2VydmljZTogTmdGdmVoTGliU2VydmljZSkge31cclxuXHJcbiAgZ2V0RmllbGRFcnJvcnMoKSB7XHJcbiAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5maWVsZC5lcnJvcnMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JNZXNzYWdlKGVycm9yUHJvcGVydHlOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGVycm9yUGF5bG9hZCA9IHRoaXMuZmllbGQuZXJyb3JzW2Vycm9yUHJvcGVydHlOYW1lXTtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0TWVzc2FnZShlcnJvclByb3BlcnR5TmFtZSwgZXJyb3JQYXlsb2FkKTtcclxuICB9XHJcblxyXG4gIGhhc0Vycm9ycygpIHtcclxuICAgIHJldHVybiB0aGlzLmZpZWxkLnRvdWNoZWQgJiYgdGhpcy5maWVsZC5pbnZhbGlkICYmICEhdGhpcy5maWVsZC5lcnJvcnM7XHJcbiAgfVxyXG59XHJcbiJdfQ==