@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
26 lines • 3.75 kB
JavaScript
import { Pipe } from '@angular/core';
import * as i0 from "@angular/core";
export class ShortenUserNamePipe {
transform(user) {
if (!user) {
return '';
}
const { firstName = '', lastName = '', userName = '' } = user || {};
let parsedFirstName = firstName.trim().split(/\s+/).shift().substr(0, 1);
const parsedLastName = lastName.trim().split(/\s+/).pop();
if (!parsedLastName) {
parsedFirstName = firstName.split(/\s+/).shift();
}
else {
parsedFirstName = parsedFirstName ? `${parsedFirstName}. ` : '';
}
return parsedFirstName || parsedLastName ? parsedFirstName + parsedLastName : userName;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShortenUserNamePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: ShortenUserNamePipe, isStandalone: true, name: "shortenUserName" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ShortenUserNamePipe, decorators: [{
type: Pipe,
args: [{ name: 'shortenUserName', standalone: true }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvcnRlbi11c2VyLW5hbWUucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2NvcmUvY29tbW9uL3Nob3J0ZW4tdXNlci1uYW1lLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBR3BELE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsTUFBTSxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNwRSxJQUFJLGVBQWUsR0FBRyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekUsTUFBTSxjQUFjLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUUxRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDcEIsZUFBZSxHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkQsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDbEUsQ0FBQztRQUVELE9BQU8sZUFBZSxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsZUFBZSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ3pGLENBQUM7K0dBaEJVLG1CQUFtQjs2R0FBbkIsbUJBQW1COzs0RkFBbkIsbUJBQW1CO2tCQUQvQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLGlCQUFpQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHsgbmFtZTogJ3Nob3J0ZW5Vc2VyTmFtZScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBTaG9ydGVuVXNlck5hbWVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh1c2VyOiBhbnkpOiBzdHJpbmcge1xuICAgIGlmICghdXNlcikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgICBjb25zdCB7IGZpcnN0TmFtZSA9ICcnLCBsYXN0TmFtZSA9ICcnLCB1c2VyTmFtZSA9ICcnIH0gPSB1c2VyIHx8IHt9O1xuICAgIGxldCBwYXJzZWRGaXJzdE5hbWUgPSBmaXJzdE5hbWUudHJpbSgpLnNwbGl0KC9cXHMrLykuc2hpZnQoKS5zdWJzdHIoMCwgMSk7XG4gICAgY29uc3QgcGFyc2VkTGFzdE5hbWUgPSBsYXN0TmFtZS50cmltKCkuc3BsaXQoL1xccysvKS5wb3AoKTtcblxuICAgIGlmICghcGFyc2VkTGFzdE5hbWUpIHtcbiAgICAgIHBhcnNlZEZpcnN0TmFtZSA9IGZpcnN0TmFtZS5zcGxpdCgvXFxzKy8pLnNoaWZ0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlZEZpcnN0TmFtZSA9IHBhcnNlZEZpcnN0TmFtZSA/IGAke3BhcnNlZEZpcnN0TmFtZX0uIGAgOiAnJztcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VkRmlyc3ROYW1lIHx8IHBhcnNlZExhc3ROYW1lID8gcGFyc2VkRmlyc3ROYW1lICsgcGFyc2VkTGFzdE5hbWUgOiB1c2VyTmFtZTtcbiAgfVxufVxuIl19