Files
zitadel/console/src/app/modules/contributors/contributors.component.html
T
51febd7e4e test(e2e): test authorizations (#4342)
* add specs that cover the b2b demo

* update cypress

* test handling manager roles

* use shared mocha contexts

* use beforeEach instead of before

* improve readability

* improve application test

* remove static waits

* remove old awaitDesired

* test owned project authorizations

* simplify ensure.ts

* test granted projects authz

* disable prevSubject for shouldNotExist

* await non-existence, then expect no error

* update dependencies

* fix tests from scratch

* fix settings tests from scratch

* Apply suggestions from code review

Co-authored-by: Max Peintner <[email protected]>

* Implement code review suggestions

* use spread operator

* settings properties must match

* add check settings object

* revert spread operator

Co-authored-by: Max Peintner <[email protected]>
2022-10-11 15:29:23 +02:00

51 lines
2.0 KiB
HTML

<div class="contributor-groups">
<div class="contributor-people">
<div class="contributor-img-list" [ngClass]="{ 'padd-left': totalResult > 0 }" [@cardAnimation]="totalResult">
<mat-spinner class="spinner" diameter="20" *ngIf="loading"></mat-spinner>
<ng-container *ngIf="totalResult < 10; else compact">
<ng-container *ngFor="let member of membersSubject | async; index as i">
<div
@animate
(click)="emitShowDetail()"
class="contributor-avatar-circle"
matTooltip="{{ member.displayName }} | {{ member.rolesList | roletransform }}"
[ngStyle]="{ 'z-index': 20 - i }"
data-e2e="member-avatar"
>
<cnsl-avatar
*ngIf="member && member.displayName && member.firstName && member.lastName; else cog"
class="contributor-avatar dontcloseonclick"
[avatarUrl]="member.avatarUrl || ''"
[name]="member.displayName ? member.displayName : member.firstName + ' ' + member.lastName"
[forColor]="member.preferredLoginName"
[size]="32"
>
</cnsl-avatar>
<ng-template #cog>
<cnsl-avatar [forColor]="member.preferredLoginName" [isMachine]="true">
<i class="las la-robot"></i>
</cnsl-avatar>
</ng-template>
</div>
</ng-container>
</ng-container>
<ng-template #compact>
<div (click)="emitShowDetail()" class="contributor-avatar-circle" matTooltip="Click to show detail">
<span>{{ totalResult }}</span>
</div>
</ng-template>
<button
class="add-img"
[ngClass]="{ 'no-margin': totalResult === 0 }"
(click)="emitAddMember()"
[disabled]="disabled"
mat-icon-button
aria-label="Add member"
data-e2e="add-member-button"
>
<mat-icon>add</mat-icon>
</button>
</div>
</div>
</div>