mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-21 13:19:29 +00:00
feat(console): user memberships, generic member create dialog, fix user autocomplete emitter (#606)
* load manager mgmtservice, user service * add org memberships * membership component, generic member creation * refactor member create dialog * project autocomplete context * create batch managers in user component * project context wrapper * emit on user removal, preselect user on init * membership avatar style, service * auth user memberships, navigate to target * cursor fix, avatar gen * lint * i18n fix * remove role translations * membership detail page, i18n * fix role label i18n, after view init loader * remove projectid from grant remove * fix iam race condition * refresh table ts, fix no permission project search * change membership colors * refresh table everywhere, replace assets, routing * fix logo header size * lint, fix project grant removal * timestmp for p mem, user list, grants, p list (#615) * npm audit * update deps, resolve vulnerability * fix tslint config * update lock * load 20 changes at once * Update console/src/assets/i18n/de.json Co-authored-by: Florian Forster <florian@caos.ch> * Update console/src/assets/i18n/de.json Co-authored-by: Florian Forster <florian@caos.ch> * Update console/src/assets/i18n/en.json Co-authored-by: Florian Forster <florian@caos.ch> * membership i18n Co-authored-by: Florian Forster <florian@caos.ch>
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
<div class="membership-groups">
|
||||
<span class="header">{{ 'USER.MEMBERSHIPS.TITLE' | translate }}</span>
|
||||
<!-- <span class="sub-header">{{ 'USER,' }}</span> -->
|
||||
<div class="people" *ngIf="memberships">
|
||||
<div class="img-list" [@cardAnimation]="memberships.totalResult">
|
||||
<mat-spinner class="spinner" diameter="20" *ngIf="loading"></mat-spinner>
|
||||
|
||||
<ng-container *ngIf="memberships.totalResult < 10; else compact">
|
||||
<ng-container *ngFor="let membership of memberships.resultList; index as i">
|
||||
<div @animate class="avatar-circle" (click)="navigateToObject()"
|
||||
matTooltip="{{ membership.displayName }} | {{membership.rolesList?.join(' ')}}"
|
||||
[ngStyle]="{'z-index': 100 - i}">
|
||||
<div class="membership-avatar"
|
||||
[ngStyle]="{'background-color': getColor(membership.memberType)}">
|
||||
<i *ngIf="membership.memberType == MemberType.MEMBERTYPE_ORGANISATION"
|
||||
class="las la-archway"></i>
|
||||
<i *ngIf="membership.memberType == MemberType.MEMBERTYPE_PROJECT"
|
||||
class="icon las la-layer-group"></i>
|
||||
<i *ngIf="membership.memberType == MemberType.MEMBERTYPE_PROJECT_GRANT"
|
||||
class="icon las la-layer-group"></i>
|
||||
|
||||
<span>{{membership.displayName}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</ng-container>
|
||||
</ng-container>
|
||||
<ng-template #compact>
|
||||
<div class="avatar-circle" matTooltip="Click to show detail">
|
||||
<span>{{memberships.totalResult}}</span>
|
||||
</div>
|
||||
</ng-template>
|
||||
<button class="add-img" (click)="addMember()" mat-icon-button aria-label="add membership">
|
||||
<mat-icon>add</mat-icon>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Reference in New Issue
Block a user