@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
32 lines • 3.93 kB
JavaScript
import { Pipe } from '@angular/core';
import { TranslateService } from '@ngx-translate/core';
import * as i0 from "@angular/core";
import * as i1 from "@ngx-translate/core";
export class UserRolesListPipe {
constructor(translateService) {
this.translateService = translateService;
}
transform(user, translate = true) {
if (!user) {
return '';
}
const groups = user.groups?.references || [];
let groupNames = groups.map(ref => ref.group?.name).filter(groupName => !!groupName);
if (!groupNames.length) {
return '';
}
if (translate) {
groupNames = groupNames.map(name => this.translateService.instant(name));
}
return groupNames.join(', ');
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRolesListPipe, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Pipe }); }
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UserRolesListPipe, name: "userRolesList" }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserRolesListPipe, decorators: [{
type: Pipe,
args: [{
name: 'userRolesList'
}]
}], ctorParameters: () => [{ type: i1.TranslateService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1yb2xlcy1saXN0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9jb3JlL3VzZXIvdXNlci1kZXRhaWxzLWRyYXdlci91c2VyLXJvbGVzLWxpc3QucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUVwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7O0FBS3ZELE1BQU0sT0FBTyxpQkFBaUI7SUFDNUIsWUFBb0IsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7SUFBRyxDQUFDO0lBQzFELFNBQVMsQ0FBQyxJQUFXLEVBQUUsU0FBUyxHQUFHLElBQUk7UUFDckMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ1YsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQWdCLElBQVksQ0FBQyxNQUFNLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztRQUNsRSxJQUFJLFVBQVUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFckYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUN2QixPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUM7UUFFRCxJQUFJLFNBQVMsRUFBRSxDQUFDO1lBQ2QsVUFBVSxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDM0UsQ0FBQztRQUVELE9BQU8sVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDOytHQW5CVSxpQkFBaUI7NkdBQWpCLGlCQUFpQjs7NEZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJVXNlciB9IGZyb20gJ0BjOHkvY2xpZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAndXNlclJvbGVzTGlzdCdcbn0pXG5leHBvcnQgY2xhc3MgVXNlclJvbGVzTGlzdFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuICB0cmFuc2Zvcm0odXNlcjogSVVzZXIsIHRyYW5zbGF0ZSA9IHRydWUpOiBzdHJpbmcge1xuICAgIGlmICghdXNlcikge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cblxuICAgIGNvbnN0IGdyb3VwczogQXJyYXk8YW55PiA9ICh1c2VyIGFzIGFueSkuZ3JvdXBzPy5yZWZlcmVuY2VzIHx8IFtdO1xuICAgIGxldCBncm91cE5hbWVzID0gZ3JvdXBzLm1hcChyZWYgPT4gcmVmLmdyb3VwPy5uYW1lKS5maWx0ZXIoZ3JvdXBOYW1lID0+ICEhZ3JvdXBOYW1lKTtcblxuICAgIGlmICghZ3JvdXBOYW1lcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBpZiAodHJhbnNsYXRlKSB7XG4gICAgICBncm91cE5hbWVzID0gZ3JvdXBOYW1lcy5tYXAobmFtZSA9PiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChuYW1lKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGdyb3VwTmFtZXMuam9pbignLCAnKTtcbiAgfVxufVxuIl19