@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
62 lines • 5.15 kB
JavaScript
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