mirror of
https://github.com/andwati/zitadel.git
synced 2026-10-25 08:42:16 +00:00
* 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]>
51 lines
2.0 KiB
HTML
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>
|