From ead69f38e27cd5e4a977a114696650ecf69e8edd Mon Sep 17 00:00:00 2001 From: Albert <Albert.Bruns@mgm-tp.com> Date: Tue, 29 Apr 2025 10:31:19 +0200 Subject: [PATCH] OZG-7773 CR Anmerkungen --- .../mail-icon/mail-icon.component.spec.ts | 25 +--------- .../icons/mail-icon/mail-icon.component.ts | 27 +---------- .../lib/icons/mail-icon/mail-icon.stories.ts | 23 ---------- .../mail-icon/mail-icon.component.html | 5 -- .../mail-icon/mail-icon.component.spec.ts | 46 ------------------- .../mail-icon/mail-icon.component.ts | 12 ----- .../postfach-mail-list.component.html | 2 +- .../postfach-mail-list.component.spec.ts | 8 ++-- .../libs/postfach/src/lib/postfach.module.ts | 5 +- 9 files changed, 10 insertions(+), 143 deletions(-) delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts delete mode 100644 alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts index fbf7503ae1..31c0239ddf 100644 --- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts +++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.spec.ts @@ -1,30 +1,7 @@ -/* - * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MailIconComponent } from './mail-icon.component'; -describe('MailboxIconComponent', () => { +describe('MailIconComponent', () => { let component: MailIconComponent; let fixture: ComponentFixture<MailIconComponent>; diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts index 452e57478e..9637fa49a5 100644 --- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts +++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.component.ts @@ -1,26 +1,3 @@ -/* - * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ import { NgClass } from '@angular/common'; import { Component, Input } from '@angular/core'; import { twMerge } from 'tailwind-merge'; @@ -50,7 +27,7 @@ import { IconVariants, iconVariants } from '../iconVariants'; stroke-linejoin="round" /> </svg> - @if (showBadge) { + @if (withBadge) { <div [ngClass]="twMerge('absolute right-0.5 top-1 h-2.5 w-2.5 -translate-y-1/2 translate-x-1/2 rounded-full', badgeClass)" data-test-class="mail-icon-badge" @@ -61,7 +38,7 @@ import { IconVariants, iconVariants } from '../iconVariants'; export class MailIconComponent { @Input() size: IconVariants['size'] = 'medium'; @Input() class: string = undefined; - @Input() showBadge: boolean = false; + @Input() withBadge: boolean = false; @Input() badgeClass: string = 'bg-primary'; readonly iconVariants = iconVariants; diff --git a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts index 0039f6813a..8fe25c255e 100644 --- a/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts +++ b/alfa-client/libs/design-system/src/lib/icons/mail-icon/mail-icon.stories.ts @@ -1,26 +1,3 @@ -/* - * Copyright (C) 2024 Das Land Schleswig-Holstein vertreten durch den - * Ministerpräsidenten des Landes Schleswig-Holstein - * Staatskanzlei - * Abteilung Digitalisierung und zentrales IT-Management der Landesregierung - * - * Lizenziert unter der EUPL, Version 1.2 oder - sobald - * diese von der Europäischen Kommission genehmigt wurden - - * Folgeversionen der EUPL ("Lizenz"); - * Sie dürfen dieses Werk ausschließlich gemäß - * dieser Lizenz nutzen. - * Eine Kopie der Lizenz finden Sie hier: - * - * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12 - * - * Sofern nicht durch anwendbare Rechtsvorschriften - * gefordert oder in schriftlicher Form vereinbart, wird - * die unter der Lizenz verbreitete Software "so wie sie - * ist", OHNE JEGLICHE GEWÄHRLEISTUNG ODER BEDINGUNGEN - - * ausdrücklich oder stillschweigend - verbreitet. - * Die sprachspezifischen Genehmigungen und Beschränkungen - * unter der Lizenz sind dem Lizenztext zu entnehmen. - */ import type { Meta, StoryObj } from '@storybook/angular'; import { MailIconComponent } from './mail-icon.component'; diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html deleted file mode 100644 index 68a71311cc..0000000000 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.html +++ /dev/null @@ -1,5 +0,0 @@ -@if(hasNewPostfachNachricht){ - <ods-mail-icon showBadge="true"/> -}@else{ - <ods-mail-icon/> -} \ No newline at end of file diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts deleted file mode 100644 index a3a1e32b9f..0000000000 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.spec.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ComponentFixture, TestBed } from '@angular/core/testing'; - -import { getElementFromFixtureByType } from '@alfa-client/test-utils'; -import { MailIconComponent } from '@ods/system'; -import { MockComponent } from 'ng-mocks'; -import { PostfachMailListMailIconComponent } from './mail-icon.component'; - -describe('PostfachMailListMailIconComponent', () => { - let component: PostfachMailListMailIconComponent; - let fixture: ComponentFixture<PostfachMailListMailIconComponent>; - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [PostfachMailListMailIconComponent], - declarations: [MockComponent(MailIconComponent)], - }).compileComponents(); - - fixture = TestBed.createComponent(PostfachMailListMailIconComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('mailIcon', () => { - it('should show badge when there is a new message', () => { - component.hasNewPostfachNachricht = true; - - fixture.detectChanges(); - - const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent); - expect(mailIcon.showBadge).toBeTruthy(); - }); - - it('should not show badge when there is no new message', () => { - component.hasNewPostfachNachricht = false; - - fixture.detectChanges(); - - const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent); - expect(mailIcon.showBadge).toBeFalsy(); - }); - }); -}); diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts deleted file mode 100644 index 2503956859..0000000000 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Component, Input } from '@angular/core'; -import { MailIconComponent } from '@ods/system'; - -@Component({ - selector: 'alfa-postfach-mail-list-mail-icon', - standalone: true, - imports: [MailIconComponent], - templateUrl: './mail-icon.component.html', -}) -export class PostfachMailListMailIconComponent { - @Input() hasNewPostfachNachricht: boolean; -} diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html index d2823e04c6..7f825d014b 100644 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html +++ b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.html @@ -26,7 +26,7 @@ <div class="nachrichten-header"> <div class="flex gap-2"> <h3 class="nachrichten">Nachrichten</h3> - <alfa-postfach-mail-list-mail-icon [hasNewPostfachNachricht]="vorgangStateResource.resource.hasNewPostfachNachricht" data-test-id="postfach-mail-list-mail-icon"/> + <ods-mail-icon [withBadge]="vorgangStateResource.resource.hasNewPostfachNachricht" data-test-id="postfach-mail-list-mail-icon"/> </div> <alfa-postfach-mail-pdf-button-container [postfachMailListResource]="postfachMailListStateResource.resource" /> diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts index 82f27dac35..90dae1fb62 100644 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts +++ b/alfa-client/libs/postfach/src/lib/postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component.spec.ts @@ -33,13 +33,13 @@ import { getElementFromFixture, getElementFromFixtureByType, getMockComponent } import { ExpansionPanelComponent, SpinnerComponent } from '@alfa-client/ui'; import { VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { ComponentFixture, TestBed } from '@angular/core/testing'; +import { MailIconComponent } from '@ods/system'; import { createPostfachMailListResource } from 'libs/postfach-shared/test/postfach'; import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; import { MockComponent } from 'ng-mocks'; import { createVorgangWithEingangResource } from '../../../../../vorgang-shared/test/vorgang'; import { PostfachMailButtonContainerComponent } from '../../postfach-mail-button-container/postfach-mail-button-container.component'; import { PostfachMailPdfButtonContainerComponent } from '../../postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component'; -import { PostfachMailListMailIconComponent } from './mail-icon/mail-icon.component'; import { PostfachMailListComponent } from './postfach-mail-list.component'; import { PostfachMailComponent } from './postfach-mail/postfach-mail.component'; @@ -64,7 +64,7 @@ describe('PostfachMailListComponent', () => { MockComponent(SpinnerComponent), MockComponent(PostfachMailButtonContainerComponent), MockComponent(PostfachMailPdfButtonContainerComponent), - MockComponent(PostfachMailListMailIconComponent), + MockComponent(MailIconComponent), ], }).compileComponents(); }); @@ -136,8 +136,8 @@ describe('PostfachMailListComponent', () => { fixture.detectChanges(); - const mailIcon: PostfachMailListMailIconComponent = getElementFromFixtureByType(fixture, PostfachMailListMailIconComponent); - expect(mailIcon.hasNewPostfachNachricht).toEqual(false); + const mailIcon: MailIconComponent = getElementFromFixtureByType(fixture, MailIconComponent); + expect(mailIcon.withBadge).toEqual(false); }); }); }); diff --git a/alfa-client/libs/postfach/src/lib/postfach.module.ts b/alfa-client/libs/postfach/src/lib/postfach.module.ts index 93772923f9..87dc40897d 100644 --- a/alfa-client/libs/postfach/src/lib/postfach.module.ts +++ b/alfa-client/libs/postfach/src/lib/postfach.module.ts @@ -42,14 +42,13 @@ import { NgModule } from '@angular/core'; import { ReactiveFormsModule } from '@angular/forms'; import { MatIcon } from '@angular/material/icon'; import { RouterModule, Routes } from '@angular/router'; -import { ButtonComponent, IconComponent, TooltipDirective } from '@ods/system'; +import { ButtonComponent, IconComponent, MailIconComponent, TooltipDirective } from '@ods/system'; import { MultiFileUploadComponent } from '../../../binary-file/src/lib/multi-file-upload/multi-file-upload.component'; import { PostfachMailButtonContainerComponent } from './postfach-mail-button-container/postfach-mail-button-container.component'; import { PostfachMailButtonComponent } from './postfach-mail-button-container/postfach-mail-button/postfach-mail-button.component'; import { PostfachMailFormComponent } from './postfach-mail-form/postfach-mail-form.component'; import { PostfachNachrichtReplyEditorContainerComponent } from './postfach-mail-form/postfach-nachricht-reply-editor-container/postfach-nachricht-reply-editor-container.component'; import { PostfachMailListContainerComponent } from './postfach-mail-list-container/postfach-mail-list-container.component'; -import { PostfachMailListMailIconComponent } from './postfach-mail-list-container/postfach-mail-list/mail-icon/mail-icon.component'; import { PostfachMailListComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail-list.component'; import { IncommingMailComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail/incomming-mail/incomming-mail.component'; import { OutgoingMailErrorContainerComponent } from './postfach-mail-list-container/postfach-mail-list/postfach-mail/outgoing-mail/outgoing-mail-error-container/outgoing-mail-error-container.component'; @@ -100,8 +99,8 @@ const routes: Routes = [ IconComponent, TooltipDirective, MultiFileUploadComponent, - PostfachMailListMailIconComponent, MailUnreadButtonLinkContainerComponent, + MailIconComponent, ], declarations: [ PostfachMailListContainerComponent, -- GitLab