openvidu/openvidu-components-angular/projects/openvidu-angular/src/lib/pipes/participant-connections.pip...

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import { Pipe, PipeTransform } from '@angular/core';
import { StreamModel, ParticipantAbstractModel } from '../models/participant.model';
@Pipe({ name: 'connections' })
export class ParticipantConnectionsPipe implements PipeTransform {
constructor() {}
transform(participants: ParticipantAbstractModel[] | ParticipantAbstractModel): StreamModel[] {
let connections: StreamModel[] = [];
if (Array.isArray(participants)) {
participants.forEach((p) => {
connections = connections.concat(Array.from(p.connections.values()));
});
} else {
connections = Array.from(participants.connections.values());
}
return connections;
}
}
@Pipe({ name: 'connectionsEnabled', pure: false })
export class ConnectionsEnabledPipe implements PipeTransform {
constructor() {}
transform(participant: ParticipantAbstractModel): string {
return `(${participant.getConnectionTypesEnabled().toString().replace(',', ', ')})`;
}
}
@Pipe({ name: 'nickname', pure: false })
export class NicknamePipe implements PipeTransform {
constructor() {}
transform(participant: ParticipantAbstractModel): string {
return participant.getCameraNickname();
}
}