UNPKG

form-control-errors

Version:

This is a package built to make displaying validation errors from Angular Form Controls easier.

129 lines (120 loc) 8.53 kB
import { Component, Input, Pipe, NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ class NgFormErrorsComponent { constructor() { } } NgFormErrorsComponent.decorators = [ { type: Component, args: [{ selector: 'lib-form-errors', template: ` <div *ngFor="let control of form.controls | objectToArray"> <ng-container *ngIf="(control | propertyValues : 0); let controlValue"> <ng-container *ngFor="let error of errorMsgs | objectToArray"> <div class="form-errors" *ngIf="controlValue.errors && controlValue.errors[(error | propertyNames)] && controlValue.touched"> {{control | propertyNames}} {{error | propertyValues : 0}} </div> </ng-container> </ng-container> </div> ` }] } ]; /** @nocollapse */ NgFormErrorsComponent.ctorParameters = () => []; NgFormErrorsComponent.propDecorators = { form: [{ type: Input }], errorMsgs: [{ type: Input }] }; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ class ObjectToArrayPipe { /** * @param {?} data * @return {?} */ transform(data) { return ((/** @type {?} */ (Object))).keys(data).map(key => { return { [key]: data[key] }; }); } } ObjectToArrayPipe.decorators = [ { type: Pipe, args: [{ name: 'objectToArray' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ class PropertyNamesPipe { /** * @param {?} data * @return {?} */ transform(data) { return ((/** @type {?} */ (Object))).getOwnPropertyNames(data); } } PropertyNamesPipe.decorators = [ { type: Pipe, args: [{ name: 'propertyNames' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ class PropertyValuesPipe { /** * @param {?} data * @param {?} index * @return {?} */ transform(data, index) { return (((/** @type {?} */ (Object))).values(data)) ? ((/** @type {?} */ (Object))).values(data)[index] : null; } } PropertyValuesPipe.decorators = [ { type: Pipe, args: [{ name: 'propertyValues' },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ class NgFormErrorsModule { } NgFormErrorsModule.decorators = [ { type: NgModule, args: [{ imports: [ CommonModule ], declarations: [ NgFormErrorsComponent, ObjectToArrayPipe, PropertyNamesPipe, PropertyValuesPipe ], exports: [NgFormErrorsComponent] },] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,uselessCode} checked by tsc */ export { NgFormErrorsComponent, NgFormErrorsModule, ObjectToArrayPipe as ɵa, PropertyNamesPipe as ɵb, PropertyValuesPipe as ɵc }; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1jb250cm9sLWVycm9ycy5qcy5tYXAiLCJzb3VyY2VzIjpbIm5nOi8vZm9ybS1jb250cm9sLWVycm9ycy9saWIvbmctZm9ybS1lcnJvcnMuY29tcG9uZW50LnRzIiwibmc6Ly9mb3JtLWNvbnRyb2wtZXJyb3JzL2xpYi9vYmplY3QtYXJyYXktcGlwZS50cyIsIm5nOi8vZm9ybS1jb250cm9sLWVycm9ycy9saWIvcHJvcGVydHktbmFtZS1waXBlLnRzIiwibmc6Ly9mb3JtLWNvbnRyb2wtZXJyb3JzL2xpYi9wcm9wZXJ0eS12YWx1ZS1waXBlLnRzIiwibmc6Ly9mb3JtLWNvbnRyb2wtZXJyb3JzL2xpYi9uZy1mb3JtLWVycm9ycy5tb2R1bGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1mb3JtLWVycm9ycycsXG4gIHRlbXBsYXRlOiBgXG4gIDxkaXYgKm5nRm9yPVwibGV0IGNvbnRyb2wgb2YgZm9ybS5jb250cm9scyB8IG9iamVjdFRvQXJyYXlcIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIihjb250cm9sIHwgcHJvcGVydHlWYWx1ZXMgOiAwKTsgbGV0IGNvbnRyb2xWYWx1ZVwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgZXJyb3Igb2YgZXJyb3JNc2dzIHwgb2JqZWN0VG9BcnJheVwiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWVycm9yc1wiICpuZ0lmPVwiY29udHJvbFZhbHVlLmVycm9ycyAmJlxuICAgICAgICAgIGNvbnRyb2xWYWx1ZS5lcnJvcnNbKGVycm9yIHwgcHJvcGVydHlOYW1lcyldICYmXG4gICAgICAgICAgY29udHJvbFZhbHVlLnRvdWNoZWRcIj5cbiAgICAgICAgICAgICAge3tjb250cm9sIHwgcHJvcGVydHlOYW1lc319IHt7ZXJyb3IgfCBwcm9wZXJ0eVZhbHVlcyA6IDB9fVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+XG4gIGAsXG4gIHN0eWxlczogW11cbn0pXG5leHBvcnQgY2xhc3MgTmdGb3JtRXJyb3JzQ29tcG9uZW50IHtcblxuICBASW5wdXQoKSBmb3JtXG4gIEBJbnB1dCgpIGVycm9yTXNnc1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iLCJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdvYmplY3RUb0FycmF5J1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIE9iamVjdFRvQXJyYXlQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcbiAgICB0cmFuc2Zvcm0oZGF0YTogT2JqZWN0KSB7XHJcbiAgICAgICAgcmV0dXJuICg8YW55Pk9iamVjdCkua2V5cyhkYXRhKS5tYXAoa2V5ID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIHtba2V5XTogZGF0YVtrZXldfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbn1cclxuIiwiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXHJcblxyXG5AUGlwZSh7XHJcbiAgICBuYW1lOiAncHJvcGVydHlOYW1lcydcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eU5hbWVzUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gICAgdHJhbnNmb3JtKGRhdGE6IE9iamVjdCkge1xyXG4gICAgICAgIHJldHVybiAoPGFueT5PYmplY3QpLmdldE93blByb3BlcnR5TmFtZXMoZGF0YSlcclxuICAgIH1cclxufVxyXG4iLCJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuXHJcbkBQaXBlKHtcclxuICAgIG5hbWU6ICdwcm9wZXJ0eVZhbHVlcydcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eVZhbHVlc1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICAgIHRyYW5zZm9ybShkYXRhOiBPYmplY3QsIGluZGV4OiBudW1iZXIpIHtcclxuICAgICAgICByZXR1cm4gKCg8YW55Pk9iamVjdCkudmFsdWVzKGRhdGEpKSA/ICg8YW55Pk9iamVjdCkudmFsdWVzKGRhdGEpW2luZGV4XSA6IG51bGxcclxuICAgIH1cclxufVxyXG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5pbXBvcnQgeyBOZ0Zvcm1FcnJvcnNDb21wb25lbnQgfSBmcm9tICcuL25nLWZvcm0tZXJyb3JzLmNvbXBvbmVudCdcbmltcG9ydCB7IE9iamVjdFRvQXJyYXlQaXBlIH0gZnJvbSAnLi9vYmplY3QtYXJyYXktcGlwZSdcbmltcG9ydCB7IFByb3BlcnR5TmFtZXNQaXBlIH0gZnJvbSAnLi9wcm9wZXJ0eS1uYW1lLXBpcGUnXG5pbXBvcnQgeyBQcm9wZXJ0eVZhbHVlc1BpcGUgfSBmcm9tICcuL3Byb3BlcnR5LXZhbHVlLXBpcGUnXG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGVcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmdGb3JtRXJyb3JzQ29tcG9uZW50LFxuICAgIE9iamVjdFRvQXJyYXlQaXBlLFxuICAgIFByb3BlcnR5TmFtZXNQaXBlLFxuICAgIFByb3BlcnR5VmFsdWVzUGlwZVxuICBdLFxuICBleHBvcnRzOiBbTmdGb3JtRXJyb3JzQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ0Zvcm1FcnJvcnNNb2R1bGUgeyB9XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFBLE1BbUJhLHFCQUFxQjtJQUtoQyxpQkFBaUI7OztZQXRCbEIsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7O0dBWVQ7YUFFRjs7Ozs7bUJBR0UsS0FBSzt3QkFDTCxLQUFLOzs7Ozs7O0FDdEJSLE1BTWEsaUJBQWlCOzs7OztJQUMxQixTQUFTLENBQUMsSUFBWTtRQUNsQixPQUFPLG9CQUFNLE1BQU0sSUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUc7WUFDbkMsT0FBTyxFQUFDLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBQyxDQUFBO1NBQzVCLENBQUMsQ0FBQTtLQUNMOzs7WUFUSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGVBQWU7YUFDeEI7Ozs7Ozs7QUNKRCxNQU1hLGlCQUFpQjs7Ozs7SUFDMUIsU0FBUyxDQUFDLElBQVk7UUFDbEIsT0FBTyxvQkFBTSxNQUFNLElBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDLENBQUE7S0FDakQ7OztZQVBKLElBQUksU0FBQztnQkFDRixJQUFJLEVBQUUsZUFBZTthQUN4Qjs7Ozs7OztBQ0pELE1BTWEsa0JBQWtCOzs7Ozs7SUFDM0IsU0FBUyxDQUFDLElBQVksRUFBRSxLQUFhO1FBQ2pDLE9BQU8sQ0FBQyxvQkFBTSxNQUFNLElBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLG9CQUFNLE1BQU0sSUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFBO0tBQ2pGOzs7WUFQSixJQUFJLFNBQUM7Z0JBQ0YsSUFBSSxFQUFFLGdCQUFnQjthQUN6Qjs7Ozs7OztBQ0pELE1BbUJhLGtCQUFrQjs7O1lBWjlCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1oscUJBQXFCO29CQUNyQixpQkFBaUI7b0JBQ2pCLGlCQUFpQjtvQkFDakIsa0JBQWtCO2lCQUNuQjtnQkFDRCxPQUFPLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQzthQUNqQzs7Ozs7Ozs7Ozs7Ozs7OyJ9