UNPKG

@c8y/ngx-components

Version:

Angular modules for Cumulocity IoT applications

62 lines 5.15 kB
import { Pipe } from '@angular/core'; import { ValidationPattern } from './validation-pattern'; import * as i0 from "@angular/core"; /** * This pipe is responsible for transforming validation error key to actual translatable that * are defined in ValidationPattern class. * * ```html * <c8y-message> * {{ 'minLength' | humanizeValidationMessage }} * </c8y-message> * ``` * * Above code renders corresponding validation message for minLength: * "Should have at least {{ requiredLength }} characters" * * It is possible to chain translate pipe: * * ```ts * const errorData = { requiredLength: 5, actualLength: 1}; * ``` * * ```html * <div> * {{ 'minLength' | humanizeValidationMessage | translate: errorData }} * </div> * ``` * * should render: "Should have at least 5 characters" * * It is also possible to provide custom translation message. For example: * * ```ts * const errorData = { requiredLength: 5, actualLength: 1 }; * const customMessages = { * minLength: gettext("File name should have at least {{ requiredLength }} characters") * }; * ``` * * ```html * <div> * {{ 'minLength' | humanizeValidationMessage:customMessages | translate: errorData }} * </div> * ``` * * should render: * "File name should have at least 5 characters" */ export class HumanizeValidationMessagePipe { transform(errorName, customMessages = {}) { return customMessages[errorName] || ValidationPattern.messages[errorName] || errorName; } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HumanizeValidationMessagePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); } static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: HumanizeValidationMessagePipe, name: "humanizeValidationMessage" }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: HumanizeValidationMessagePipe, decorators: [{ type: Pipe, args: [{ name: 'humanizeValidationMessage' }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHVtYW5pemUtdmFsaWRhdGlvbi1tZXNzYWdlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9jb3JlL2Zvcm1zL2h1bWFuaXplLXZhbGlkYXRpb24tbWVzc2FnZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDOztBQUV6RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0E0Q0c7QUFLSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFNBQVMsQ0FBQyxTQUFpQixFQUFFLGlCQUE0QyxFQUFFO1FBQ3pFLE9BQU8sY0FBYyxDQUFDLFNBQVMsQ0FBQyxJQUFJLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDekYsQ0FBQzsrR0FIVSw2QkFBNkI7NkdBQTdCLDZCQUE2Qjs7NEZBQTdCLDZCQUE2QjtrQkFIekMsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsMkJBQTJCO2lCQUNsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFZhbGlkYXRpb25QYXR0ZXJuIH0gZnJvbSAnLi92YWxpZGF0aW9uLXBhdHRlcm4nO1xuXG4vKipcbiAqIFRoaXMgcGlwZSBpcyByZXNwb25zaWJsZSBmb3IgdHJhbnNmb3JtaW5nIHZhbGlkYXRpb24gZXJyb3Iga2V5IHRvIGFjdHVhbCB0cmFuc2xhdGFibGUgdGhhdFxuICogYXJlIGRlZmluZWQgaW4gVmFsaWRhdGlvblBhdHRlcm4gY2xhc3MuXG4gKlxuICogYGBgaHRtbFxuICogPGM4eS1tZXNzYWdlPlxuICogIHt7ICdtaW5MZW5ndGgnIHwgaHVtYW5pemVWYWxpZGF0aW9uTWVzc2FnZSB9fVxuICogPC9jOHktbWVzc2FnZT5cbiAqIGBgYFxuICpcbiAqIEFib3ZlIGNvZGUgcmVuZGVycyBjb3JyZXNwb25kaW5nIHZhbGlkYXRpb24gbWVzc2FnZSBmb3IgbWluTGVuZ3RoOlxuICogXCJTaG91bGQgaGF2ZSBhdCBsZWFzdCB7eyByZXF1aXJlZExlbmd0aCB9fSBjaGFyYWN0ZXJzXCJcbiAqXG4gKiBJdCBpcyBwb3NzaWJsZSB0byBjaGFpbiB0cmFuc2xhdGUgcGlwZTpcbiAqXG4gKiBgYGB0c1xuICogY29uc3QgZXJyb3JEYXRhID0geyByZXF1aXJlZExlbmd0aDogNSwgYWN0dWFsTGVuZ3RoOiAxfTtcbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXY+XG4gKiAge3sgJ21pbkxlbmd0aCcgfCBodW1hbml6ZVZhbGlkYXRpb25NZXNzYWdlIHwgdHJhbnNsYXRlOiBlcnJvckRhdGEgIH19XG4gKiA8L2Rpdj5cbiAqIGBgYFxuICpcbiAqIHNob3VsZCByZW5kZXI6IFwiU2hvdWxkIGhhdmUgYXQgbGVhc3QgNSBjaGFyYWN0ZXJzXCJcbiAqXG4gKiBJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHByb3ZpZGUgY3VzdG9tIHRyYW5zbGF0aW9uIG1lc3NhZ2UuIEZvciBleGFtcGxlOlxuICpcbiAqIGBgYHRzXG4gKiBjb25zdCBlcnJvckRhdGEgPSB7IHJlcXVpcmVkTGVuZ3RoOiA1LCBhY3R1YWxMZW5ndGg6IDEgfTtcbiAqIGNvbnN0IGN1c3RvbU1lc3NhZ2VzID0ge1xuICogICBtaW5MZW5ndGg6IGdldHRleHQoXCJGaWxlIG5hbWUgc2hvdWxkIGhhdmUgYXQgbGVhc3Qge3sgcmVxdWlyZWRMZW5ndGggfX0gY2hhcmFjdGVyc1wiKVxuICogfTtcbiAqIGBgYFxuICpcbiAqIGBgYGh0bWxcbiAqIDxkaXY+XG4gKiAge3sgJ21pbkxlbmd0aCcgfCBodW1hbml6ZVZhbGlkYXRpb25NZXNzYWdlOmN1c3RvbU1lc3NhZ2VzIHwgdHJhbnNsYXRlOiBlcnJvckRhdGEgfX1cbiAqIDwvZGl2PlxuICogYGBgXG4gKlxuICogc2hvdWxkIHJlbmRlcjpcbiAqIFwiRmlsZSBuYW1lIHNob3VsZCBoYXZlIGF0IGxlYXN0IDUgY2hhcmFjdGVyc1wiXG4gKi9cblxuQFBpcGUoe1xuICBuYW1lOiAnaHVtYW5pemVWYWxpZGF0aW9uTWVzc2FnZSdcbn0pXG5leHBvcnQgY2xhc3MgSHVtYW5pemVWYWxpZGF0aW9uTWVzc2FnZVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKGVycm9yTmFtZTogc3RyaW5nLCBjdXN0b21NZXNzYWdlczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KTogc3RyaW5nIHtcbiAgICByZXR1cm4gY3VzdG9tTWVzc2FnZXNbZXJyb3JOYW1lXSB8fCBWYWxpZGF0aW9uUGF0dGVybi5tZXNzYWdlc1tlcnJvck5hbWVdIHx8IGVycm9yTmFtZTtcbiAgfVxufVxuIl19