From b670ce08cea6f56eb770e1d1e2f286d699006af8 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Tue, 8 Jun 2021 12:49:27 +0200 Subject: [PATCH] OZG-400 user-icon refactoring --- .../vorgang-forwarding-info.component.html | 6 +-- .../header/header.component.html | 2 +- .../header/header.component.spec.ts | 3 +- .../user-icon-container.component.html | 2 - .../user-icon-container.component.ts | 2 - .../lib/user-icon/user-icon.component.html | 12 +++--- .../lib/user-icon/user-icon.component.scss | 38 ++++++++++--------- .../src/lib/user-icon/user-icon.component.ts | 9 ++--- .../src/lib/user-profile.module.ts | 3 +- .../vorgang-list-item.component.html | 9 +++-- .../vorgang-list-item.component.scss | 1 - 11 files changed, 41 insertions(+), 46 deletions(-) diff --git a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forwarding-info-list/vorgang-forwarding-info/vorgang-forwarding-info.component.html b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forwarding-info-list/vorgang-forwarding-info/vorgang-forwarding-info.component.html index e059d522f5..25127aab09 100644 --- a/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forwarding-info-list/vorgang-forwarding-info/vorgang-forwarding-info.component.html +++ b/goofy-client/libs/forwarding/src/lib/vorgang-forwarding-container/vorgang-forwarding-info-list/vorgang-forwarding-info/vorgang-forwarding-info.component.html @@ -5,7 +5,7 @@ Die Versendung war nicht erfolgreich, die Fehlermeldung lautet:<br> <span class="message">{{ forwarding.errorMessage }}</span> </p> - <mat-icon class="icon">error_outlined</mat-icon> + <mat-icon class="icon">error_outline</mat-icon> </div> <ng-template #success> @@ -13,6 +13,6 @@ {{ forwarding.createdByName }} hat den Vorgang am {{ forwarding.createdAt | formatDateWithTimePipe }} an {{ forwarding.zustaendigeStelle }} weitergeleitet.<br> Versendet am {{ forwarding.sentAt | formatDateWithTimePipe }} </p> - + <goofy-client-vorgang-forward-zustellen-container [forwarding]="forwarding"></goofy-client-vorgang-forward-zustellen-container> -</ng-template> \ No newline at end of file +</ng-template> diff --git a/goofy-client/libs/navigation/src/lib/header-container/header/header.component.html b/goofy-client/libs/navigation/src/lib/header-container/header/header.component.html index 8fc56d6d07..294766a143 100644 --- a/goofy-client/libs/navigation/src/lib/header-container/header/header.component.html +++ b/goofy-client/libs/navigation/src/lib/header-container/header/header.component.html @@ -17,7 +17,7 @@ <goofy-client-settings [darkMode]="darkMode" (darkModeEmitter)="darkModeEmitter.emit($event)"></goofy-client-settings> <button mat-icon-button [matMenuTriggerFor]="accountMenu" class="big-button" data-test-id="user-icon-button"> - <goofy-client-user-icon-container [disableTooltip]="true" [scaleFactor]="1.4" transformOrigin="center"></goofy-client-user-icon-container> + <goofy-client-user-icon></goofy-client-user-icon> </button> <mat-menu #accountMenu="matMenu"> diff --git a/goofy-client/libs/navigation/src/lib/header-container/header/header.component.spec.ts b/goofy-client/libs/navigation/src/lib/header-container/header/header.component.spec.ts index 4617bd101a..914113603a 100644 --- a/goofy-client/libs/navigation/src/lib/header-container/header/header.component.spec.ts +++ b/goofy-client/libs/navigation/src/lib/header-container/header/header.component.spec.ts @@ -7,6 +7,7 @@ import { configureTestSuite } from 'ng-bullet'; import { MockComponent } from 'ng-mocks'; import { HeaderComponent } from './header.component'; import { SettingsComponent } from './settings/settings.component'; +import { UserIconComponent } from 'libs/user-profile/src/lib/user-icon/user-icon.component'; describe('HeaderComponent', () => { let component: HeaderComponent; @@ -22,7 +23,7 @@ describe('HeaderComponent', () => { HeaderComponent, MockComponent(SettingsComponent), MockComponent(VorgangSearchContainerComponent), - MockComponent(UserIconContainerComponent) + MockComponent(UserIconComponent) ] }) }); diff --git a/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.html b/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.html index 2f08f75ed6..195427fea2 100644 --- a/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.html +++ b/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.html @@ -4,8 +4,6 @@ [matMenuTriggerFor]="menu" [userProfileStateResource]="userProfile$ | async" [disableTooltip]="disableTooltip" - [scaleFactor]="scaleFactor" - [transformOrigin]="transformOrigin" data-test-id="user-profile-icon"> </goofy-client-user-icon> diff --git a/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.ts b/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.ts index 24b7528fc8..5748182f67 100644 --- a/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.ts +++ b/goofy-client/libs/user-profile/src/lib/user-icon-container/user-icon-container.component.ts @@ -17,8 +17,6 @@ export class UserIconContainerComponent implements OnChanges { @Input() vorgang: VorgangWithEingangResource; @Input() allowAssigning: boolean = false; @Input() disableTooltip: boolean = false; - @Input() scaleFactor: number = 2; - @Input() transformOrigin: string = 'right center'; apiRoot$: Observable<StateResource<ApiRootResource>> = of(createEmptyStateResource()); userProfile$: Observable<StateResource<UserProfileResource>> = of(createEmptyStateResource()); diff --git a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.html b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.html index 96c9d4325e..7b2f89668d 100644 --- a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.html +++ b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.html @@ -1,8 +1,6 @@ -<div class="editor" - [ngStyle]="{ - 'transform': 'scale(' + scaleFactor + ')', - 'transform-origin': transformOrigin - }" +<div + class="user-profile" + [ngClass]="{'initials': !!userProfileStateResource.resource}" [matTooltipDisabled]="disableTooltip" matTooltip="{{ toolTip }}" data-test-class="user-profile-icon-tooltip"> @@ -10,7 +8,7 @@ <span data-test-id="user-profile-assigned">{{ initials }}</span> </ng-container> <ng-template #noUser> - <mat-icon data-test-id="user-profile-unassigned">account_circle</mat-icon> + <mat-icon data-test-id="user-profile-unassigned">account_circle_outline</mat-icon> </ng-template> <div class="picture"></div> -</div> \ No newline at end of file +</div> diff --git a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.scss b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.scss index fcccc80212..0ebc6ece32 100644 --- a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.scss +++ b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.scss @@ -1,22 +1,24 @@ -.editor { +.user-profile { + width: 32px; + height: 32px; + border-radius: 50%; position: relative; - flex-shrink: 1; - display: flex; - justify-content: flex-end; - mat-icon { - color: #999; - margin: -2px; + &.initials { + background-color: #3e3e3e; + color: #fff; + display: flex; + justify-content: center; + align-items: center; + font-size: 18px; } +} - .picture { - $size: 20px; - background-color: transparent; - width: $size; - height: $size; - border-radius: 50%; - position: absolute; - left: 0; - top: 0; - } -} \ No newline at end of file +mat-icon { + color: #999; + position: absolute; + left: 50%; + top: 50%; + transform: scale(1.56) translate(-50%, -50%); + transform-origin: left top; +} diff --git a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts index bedfb1d456..227058b29b 100644 --- a/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts +++ b/goofy-client/libs/user-profile/src/lib/user-icon/user-icon.component.ts @@ -1,5 +1,5 @@ import { Component, Input, SimpleChanges } from '@angular/core'; -import { StateResource } from '@goofy-client/tech-shared'; +import { createEmptyStateResource, StateResource } from '@goofy-client/tech-shared'; import { UserProfileResource } from '@goofy-client/user-profile-shared'; import { isNil } from 'lodash'; @@ -10,11 +10,8 @@ import { isNil } from 'lodash'; }) export class UserIconComponent { - @Input() userProfileStateResource: StateResource<UserProfileResource>; - + @Input() userProfileStateResource: StateResource<UserProfileResource> = createEmptyStateResource(); @Input() disableTooltip: boolean = false; - @Input() scaleFactor: number = 2; - @Input() transformOrigin: string = 'right center'; readonly toolTipNoUser: string = 'kein Bearbeiter zugewiesen' @@ -33,4 +30,4 @@ export class UserIconComponent { private getFirstLetter(value: string): string { return isNil(value) ? undefined : value.substr(0, 1).toUpperCase(); } -} \ No newline at end of file +} diff --git a/goofy-client/libs/user-profile/src/lib/user-profile.module.ts b/goofy-client/libs/user-profile/src/lib/user-profile.module.ts index 466e853e41..f799afbde3 100644 --- a/goofy-client/libs/user-profile/src/lib/user-profile.module.ts +++ b/goofy-client/libs/user-profile/src/lib/user-profile.module.ts @@ -25,7 +25,8 @@ import { UserProfileSearchComponent } from './user-profile-search-container/user ], exports: [ UserIconContainerComponent, + UserIconComponent, AssignUserProfileButtonContainerComponent ] }) -export class UserProfileModule { } \ No newline at end of file +export class UserProfileModule { } diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html index f36adaecbf..86ce24f7dd 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.html @@ -18,9 +18,10 @@ <goofy-client-vorgang-next-frist-button [vorgang]="vorgang" class="row wiedervorlagen"></goofy-client-vorgang-next-frist-button> </div> - <goofy-client-user-icon-container *ngIf="vorgang | hasLink: vorgangLinkRel.ASSIGN" data-test-id="vorgang-user-icon" - [vorgang]="vorgang" - scaleFactor="2.2" - class="user-icon"> + <goofy-client-user-icon-container + *ngIf="vorgang | hasLink: vorgangLinkRel.ASSIGN" + [vorgang]="vorgang" + data-test-id="vorgang-user-icon" + class="user-icon"> </goofy-client-user-icon-container> </a> diff --git a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.scss b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.scss index 200266c2ec..6a8c0586f4 100644 --- a/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.scss +++ b/goofy-client/libs/vorgang/src/lib/vorgang-list-container/vorgang-list/vorgang-list-item/vorgang-list-item.component.scss @@ -74,7 +74,6 @@ goofy-client-status-dot { .user-icon { margin-left: 16px; - width: 44px; } .wiedervorlagen { -- GitLab