ng-fveh
Version:
NG-FVEH - Some helpers to help you with form validation :)
66 lines (65 loc) • 4.68 kB
JavaScript
/**
* @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';
var ErrorsPresenterComponent = /** @class */ (function () {
function ErrorsPresenterComponent(service) {
this.service = service;
}
/**
* @return {?}
*/
ErrorsPresenterComponent.prototype.getFieldErrors = /**
* @return {?}
*/
function () {
return Object.keys(this.field.errors);
};
/**
* @param {?} errorPropertyName
* @return {?}
*/
ErrorsPresenterComponent.prototype.getErrorMessage = /**
* @param {?} errorPropertyName
* @return {?}
*/
function (errorPropertyName) {
var /** @type {?} */ errorPayload = this.field.errors[errorPropertyName];
return this.service.getMessage(errorPropertyName, errorPayload);
};
/**
* @return {?}
*/
ErrorsPresenterComponent.prototype.hasErrors = /**
* @return {?}
*/
function () {
return this.field.touched && this.field.invalid && !!this.field.errors;
};
ErrorsPresenterComponent.decorators = [
{ type: Component, args: [{
selector: 'fveh-errors-presenter',
template: "<div *ngIf=\"hasErrors()\">\n <div *ngFor=\"let error of getFieldErrors()\">{{ getErrorMessage(error) }}</div>\n</div>",
styles: [""],
},] },
];
/** @nocollapse */
ErrorsPresenterComponent.ctorParameters = function () { return [
{ type: NgFvehLibService }
]; };
ErrorsPresenterComponent.propDecorators = {
field: [{ type: Input }]
};
return ErrorsPresenterComponent;
}());
export { ErrorsPresenterComponent };
function ErrorsPresenterComponent_tsickle_Closure_declarations() {
/** @type {?} */
ErrorsPresenterComponent.prototype.field;
/** @type {?} */
ErrorsPresenterComponent.prototype.service;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLXByZXNlbnRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1mdmVoLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZXJyb3JzLXByZXNlbnRlci9lcnJvcnMtcHJlc2VudGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztJQVkzRCxrQ0FBbUIsT0FBeUI7UUFBekIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7S0FBSTs7OztJQUVoRCxpREFBYzs7O0lBQWQ7UUFDRSxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUN2Qzs7Ozs7SUFFRCxrREFBZTs7OztJQUFmLFVBQWdCLGlCQUF5QjtRQUN2QyxxQkFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUMxRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQ2pFOzs7O0lBRUQsNENBQVM7OztJQUFUO1FBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7S0FDeEU7O2dCQXZCRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsUUFBUSxFQUFFLHlIQUVMO29CQUNMLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQztpQkFDYjs7OztnQkFSUSxnQkFBZ0I7Ozt3QkFVdEIsS0FBSzs7bUNBWlI7O1NBV2Esd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTmdGdmVoTGliU2VydmljZSB9IGZyb20gJy4uLy4uL25nLWZ2ZWgtbGliLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdmdmVoLWVycm9ycy1wcmVzZW50ZXInLFxyXG4gIHRlbXBsYXRlOiBgPGRpdiAqbmdJZj1cImhhc0Vycm9ycygpXCI+XHJcbiAgPGRpdiAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZ2V0RmllbGRFcnJvcnMoKVwiPnt7IGdldEVycm9yTWVzc2FnZShlcnJvcikgfX08L2Rpdj5cclxuPC9kaXY+YCxcclxuICBzdHlsZXM6IFtgYF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFcnJvcnNQcmVzZW50ZXJDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIGZpZWxkOiBGb3JtQ29udHJvbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHNlcnZpY2U6IE5nRnZlaExpYlNlcnZpY2UpIHt9XHJcblxyXG4gIGdldEZpZWxkRXJyb3JzKCkge1xyXG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZmllbGQuZXJyb3JzKTtcclxuICB9XHJcblxyXG4gIGdldEVycm9yTWVzc2FnZShlcnJvclByb3BlcnR5TmFtZTogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBlcnJvclBheWxvYWQgPSB0aGlzLmZpZWxkLmVycm9yc1tlcnJvclByb3BlcnR5TmFtZV07XHJcbiAgICByZXR1cm4gdGhpcy5zZXJ2aWNlLmdldE1lc3NhZ2UoZXJyb3JQcm9wZXJ0eU5hbWUsIGVycm9yUGF5bG9hZCk7XHJcbiAgfVxyXG5cclxuICBoYXNFcnJvcnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5maWVsZC50b3VjaGVkICYmIHRoaXMuZmllbGQuaW52YWxpZCAmJiAhIXRoaXMuZmllbGQuZXJyb3JzO1xyXG4gIH1cclxufVxyXG4iXX0=