diff --git a/alfa-client/apps/alfa/src/styles/material/_button.scss b/alfa-client/apps/alfa/src/styles/material/_button.scss index c651fe0e8a13be8311255e688ab96732dfe50313..71b53423c327ea3ba3ca3e871b8905c21b92d3bc 100644 --- a/alfa-client/apps/alfa/src/styles/material/_button.scss +++ b/alfa-client/apps/alfa/src/styles/material/_button.scss @@ -28,13 +28,6 @@ $color-config: mat.m2-get-color-config($theme); $primary: map.get($color-config, 'primary'); - ozgcloud-button-with-spinner, - ozgcloud-stroked-button-with-spinner { - .mat-primary svg path { - fill: mat.m2-get-color-from-palette($primary); - } - } - .mdc-button { mat-icon { font-size: 24px !important; diff --git a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts index 04e5cda02ababd0de6cceced1f604456f0e5314f..09491877a0ae896690bad2373ee202facf6c6775 100644 --- a/alfa-client/libs/bescheid/src/lib/bescheid.module.ts +++ b/alfa-client/libs/bescheid/src/lib/bescheid.module.ts @@ -46,12 +46,7 @@ import { DocumentInBescheidContainerComponent } from './bescheid-list-in-vorgang import { BeschiedenDateContainerComponent } from './beschieden-date-in-vorgang-container/beschieden-date-container/beschieden-date-container.component'; import { BeschiedenDateInVorgangContainerComponent } from './beschieden-date-in-vorgang-container/beschieden-date-in-vorgang-container.component'; -import { - DateEditorComponent, - ExpansionPanelComponent, - OzgcloudStrokedButtonWithSpinnerComponent, - SpinnerComponent, -} from '@alfa-client/ui'; +import { DateEditorComponent, ExpansionPanelComponent, SpinnerComponent } from '@alfa-client/ui'; import { ReactiveFormsModule } from '@angular/forms'; import { MatIcon } from '@angular/material/icon'; import { @@ -116,7 +111,6 @@ import { BescheidWizardWeiterButtonComponent } from './bescheid-wizard-container AttachmentWrapperComponent, MatIcon, DateEditorComponent, - OzgcloudStrokedButtonWithSpinnerComponent, ReactiveFormsModule, ButtonCardComponent, IconComponent, diff --git a/alfa-client/libs/kommentar/src/lib/kommentar.module.ts b/alfa-client/libs/kommentar/src/lib/kommentar.module.ts index 908026b520d1d6c0058775a1081f754bb40eb993..4e0a31ec704ac30896b0f2ea02ddb4d2cf555f35 100644 --- a/alfa-client/libs/kommentar/src/lib/kommentar.module.ts +++ b/alfa-client/libs/kommentar/src/lib/kommentar.module.ts @@ -24,7 +24,7 @@ import { BinaryFileModule } from '@alfa-client/binary-file'; import { KommentarSharedModule } from '@alfa-client/kommentar-shared'; import { ConvertForDataTestPipe, FormatDateWithTimePipe, HasLinkPipe } from '@alfa-client/tech-shared'; -import { ExpansionPanelComponent, OzgcloudStrokedButtonWithSpinnerComponent, TextAreaEditorComponent } from '@alfa-client/ui'; +import { ExpansionPanelComponent, TextAreaEditorComponent } from '@alfa-client/ui'; import { UserProfileModule } from '@alfa-client/user-profile'; import { VorgangSharedModule } from '@alfa-client/vorgang-shared'; import { CommonModule } from '@angular/common'; @@ -52,7 +52,6 @@ import { KommentarListItemInVorgangComponent } from './kommentar-list-in-vorgang MultiFileUploadComponent, ReactiveFormsModule, TextAreaEditorComponent, - OzgcloudStrokedButtonWithSpinnerComponent, ConvertForDataTestPipe, HasLinkPipe, FormatDateWithTimePipe, diff --git a/alfa-client/libs/loesch-anforderung/src/lib/loesch-anforderung.module.ts b/alfa-client/libs/loesch-anforderung/src/lib/loesch-anforderung.module.ts index 1d3ace690571a5e3d961f4d654dc219e623659c2..37a0d6ddeee2f249782e8c4894fbe2269c7f37b7 100644 --- a/alfa-client/libs/loesch-anforderung/src/lib/loesch-anforderung.module.ts +++ b/alfa-client/libs/loesch-anforderung/src/lib/loesch-anforderung.module.ts @@ -23,7 +23,7 @@ */ import { LoeschAnforderungSharedModule } from '@alfa-client/loesch-anforderung-shared'; import { HasLinkPipe } from '@alfa-client/tech-shared'; -import { IconButtonWithSpinnerComponent, OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; +import { IconButtonWithSpinnerComponent } from '@alfa-client/ui'; import { VorgangSharedModule } from '@alfa-client/vorgang-shared'; import { CommonModule } from '@angular/common'; import { NgModule } from '@angular/core'; @@ -41,7 +41,6 @@ import { LoeschenAnfordernButtonComponent } from './loeschen-anfordern-button-co CommonModule, LoeschAnforderungSharedModule, VorgangSharedModule, - OzgcloudStrokedButtonWithSpinnerComponent, IconButtonWithSpinnerComponent, HasLinkPipe, ButtonWithSpinnerComponent, diff --git a/alfa-client/libs/postfach/src/lib/postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component.spec.ts b/alfa-client/libs/postfach/src/lib/postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component.spec.ts index bbd4dc9b46105e4b0c7211a870d4aa1c72ac561b..f3b3289770b0c724ad8375b697dc59afa09fe626 100644 --- a/alfa-client/libs/postfach/src/lib/postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component.spec.ts +++ b/alfa-client/libs/postfach/src/lib/postfach-mail-pdf-button-container/postfach-mail-pdf-button-container.component.spec.ts @@ -21,10 +21,9 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { ComponentFixture, TestBed } from '@angular/core/testing'; import { PostfachService } from '@alfa-client/postfach-shared'; import { Mock, mock } from '@alfa-client/test-utils'; -import { OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; +import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MockComponent } from 'ng-mocks'; import { PostfachMailPdfButtonContainerComponent } from './postfach-mail-pdf-button-container.component'; import { PostfachMailPdfButtonComponent } from './postfach-mail-pdf-button/postfach-mail-pdf-button.component'; @@ -37,11 +36,7 @@ describe('PostfachMailPdfButtonContainerComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ - PostfachMailPdfButtonContainerComponent, - MockComponent(OzgcloudStrokedButtonWithSpinnerComponent), - MockComponent(PostfachMailPdfButtonComponent), - ], + declarations: [PostfachMailPdfButtonContainerComponent, MockComponent(PostfachMailPdfButtonComponent)], providers: [ { provide: PostfachService, diff --git a/alfa-client/libs/postfach/src/lib/postfach.module.ts b/alfa-client/libs/postfach/src/lib/postfach.module.ts index da504af154ced658b3716ae208eece375584cb30..8602bf2794f3c8e697cc4a8691c65c4e7f654ff8 100644 --- a/alfa-client/libs/postfach/src/lib/postfach.module.ts +++ b/alfa-client/libs/postfach/src/lib/postfach.module.ts @@ -29,7 +29,6 @@ import { CheckboxEnumEditorComponent, IconButtonWithSpinnerComponent, OzgcloudIconComponent, - OzgcloudStrokedButtonWithSpinnerComponent, OzgcloudTextEditorComponent, SpinnerComponent, SubnavigationComponent, @@ -81,7 +80,6 @@ const routes: Routes = [ UserProfileModule, VorgangSharedUiModule, BinaryFileModule, - OzgcloudStrokedButtonWithSpinnerComponent, HasLinkPipe, CheckboxEnumEditorComponent, ReactiveFormsModule, diff --git a/alfa-client/libs/ui/src/index.ts b/alfa-client/libs/ui/src/index.ts index b837d7c29e0cc7a7459e6475c84fd22f03443711..f341548de8e723dda12e766a16cb8f9ae1ad521d 100644 --- a/alfa-client/libs/ui/src/index.ts +++ b/alfa-client/libs/ui/src/index.ts @@ -45,9 +45,6 @@ export * from './lib/ui/fixed-dialog/fixed-dialog.component'; export * from './lib/ui/icon-button-with-spinner/icon-button-with-spinner.component'; export * from './lib/ui/messages'; export * from './lib/ui/open-url-button/open-url-button.component'; -export * from './lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component'; -export * from './lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component'; -export * from './lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component'; export * from './lib/ui/ozgcloud-icon/ozgcloud-icon.component'; export * from './lib/ui/ozgcloud-menu/ozgcloud-menu.component'; export * from './lib/ui/ozgcloud-paste-text-button/ozgcloud-paste-text-button.component'; diff --git a/alfa-client/libs/ui/src/lib/ui/http-error-dialog/connection-timeout-retry-dialog/connection-timeout-retry-dialog.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/http-error-dialog/connection-timeout-retry-dialog/connection-timeout-retry-dialog.component.spec.ts index 650e50ec93147e8958d2727ec40dc1ebc0fd906b..9a3e421e87a080192433bba21b052c827d80c872 100644 --- a/alfa-client/libs/ui/src/lib/ui/http-error-dialog/connection-timeout-retry-dialog/connection-timeout-retry-dialog.component.spec.ts +++ b/alfa-client/libs/ui/src/lib/ui/http-error-dialog/connection-timeout-retry-dialog/connection-timeout-retry-dialog.component.spec.ts @@ -21,11 +21,9 @@ * Die sprachspezifischen Genehmigungen und Beschränkungen * unter der Lizenz sind dem Lizenztext zu entnehmen. */ -import { OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { MatDialogModule } from '@angular/material/dialog'; import { MatIcon } from '@angular/material/icon'; -import { MockComponent } from 'ng-mocks'; import { ConnectionTimeoutRetryDialogComponent } from './connection-timeout-retry-dialog.component'; describe('ConnectionTimeoutRetryDialogComponent', () => { @@ -34,12 +32,7 @@ describe('ConnectionTimeoutRetryDialogComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - imports: [ - MatDialogModule, - ConnectionTimeoutRetryDialogComponent, - MatIcon, - MockComponent(OzgcloudStrokedButtonWithSpinnerComponent), - ], + imports: [MatDialogModule, ConnectionTimeoutRetryDialogComponent, MatIcon], }).compileComponents(); }); diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html deleted file mode 100644 index 374a22364102cade464a3fad961bbffe1a7b330a..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- - - Copyright (C) 2023 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. - ---> -<button - mat-button - data-test-class="icon-button" - [attr.data-test-id]="dataTestId" - [color]="color" - [type]="type" - [disabled]="isDisabled" - [tooltip]="toolTip" - [class.with-text]="text" - (click)="clickEmitter.emit($event)" -> - <ozgcloud-button-content - [icon]="icon" - [svgIcon]="svgIcon" - [text]="text" - [stateResource]="stateResource" - [showSpinner]="showSpinner" - [isDisabled]="isDisabled" - > - </ozgcloud-button-content> -</button> diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.scss b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.scss deleted file mode 100644 index 2c22857104e6804f5cda4f86f91f3b44d00ce419..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.scss +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (C) 2023 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. - */ -button { - min-width: 36px; - min-height: 36px; - padding: 0; - &.with-text { - padding: 0 15px; - } -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts deleted file mode 100644 index 5447abd13a916be618548326cef55e254a232963..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.spec.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (C) 2023 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 { MatButton } from '@angular/material/button'; -import { MatRipple } from '@angular/material/core'; -import { createCommandResource } from 'libs/command-shared/test/command'; -import { getDataTestClassOf } from 'libs/tech-shared/test/data-test'; -import { MockComponent, MockDirective } from 'ng-mocks'; -import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component'; -import { OzgcloudButtonWithSpinnerComponent } from './ozgcloud-button-with-spinner.component'; - -import { TooltipDirective } from '@ods/system'; -import * as ResourceUtils from 'libs/tech-shared/src/lib/resource/resource.util'; - -describe('OzgcloudButtonWithSpinnerComponent', () => { - let component: OzgcloudButtonWithSpinnerComponent; - let fixture: ComponentFixture<OzgcloudButtonWithSpinnerComponent>; - - const buttonSelector: string = getDataTestClassOf('icon-button'); - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - MatButton, - MatRipple, - OzgcloudButtonWithSpinnerComponent, - MockDirective(TooltipDirective), - MockComponent(OzgcloudButtonContentComponent), - ], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(OzgcloudButtonWithSpinnerComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('isDisabled', () => { - it('should return true if showSpinner is true and stateResource is loading', () => { - component.showSpinner = true; - component.stateResource.loading = true; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return true if showSpinner is false and stateResource is loading', () => { - component.showSpinner = false; - component.stateResource.loading = true; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return true if showSpinner is true and stateResource is not loading', () => { - component.showSpinner = true; - component.stateResource.loading = false; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return false if showSpinner is false and stateResource is not loading', () => { - component.showSpinner = false; - component.stateResource.loading = false; - - const result: boolean = component.isDisabled; - - expect(result).toBeFalsy(); - }); - }); - - describe('ngOnInit', () => { - it('should call getStateResource()', () => { - component.getStateResource = jest.fn(); - - component.ngOnInit(); - - expect(component.getStateResource).toHaveBeenCalled(); - }); - }); - - describe('getStateResource', () => { - it('should call createEmptyStateResource if stateResource is undefined', () => { - const spy = jest.spyOn(ResourceUtils, 'createEmptyStateResource'); - component.stateResource = undefined; - - component.getStateResource(); - - expect(spy).toHaveBeenCalled(); - }); - - it('should call createEmptyStateResource if stateResource is null', () => { - const spy = jest.spyOn(ResourceUtils, 'createEmptyStateResource'); - component.stateResource = null; - - component.getStateResource(); - - expect(spy).toHaveBeenCalled(); - }); - - it('should return non empty stateResource', () => { - component.stateResource = ResourceUtils.createStateResource(createCommandResource()); - - component.getStateResource(); - - const valid: boolean = ResourceUtils.isValidStateResource(component.stateResource); - expect(valid).toBeTruthy(); - }); - }); - - describe('Button', () => { - it('should NOT be disabled initialy', () => { - component.stateResource = ResourceUtils.createEmptyStateResource(); - fixture.detectChanges(); - - const button = fixture.nativeElement.querySelector(buttonSelector); - - expect(button).not.toBeDisabled(); - }); - - it('should be disabled if loading', () => { - component.stateResource = ResourceUtils.createEmptyStateResource(true); - fixture.detectChanges(); - - const button = fixture.nativeElement.querySelector(buttonSelector); - - expect(button).toBeDisabled(); - }); - }); -}); diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.ts deleted file mode 100644 index fb46489bd43247e86059d332972cabfd88db9364..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-button-with-spinner/ozgcloud-button-with-spinner.component.ts +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Copyright (C) 2023 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 { StateResource, createEmptyStateResource } from '@alfa-client/tech-shared'; -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { MatButton } from '@angular/material/button'; -import { MatTooltip } from '@angular/material/tooltip'; -import { Resource } from '@ngxp/rest'; -import { TooltipDirective } from '@ods/system'; -import { isNil } from 'lodash-es'; -import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component'; - -@Component({ - selector: 'ozgcloud-button-with-spinner', - templateUrl: './ozgcloud-button-with-spinner.component.html', - styleUrls: ['./ozgcloud-button-with-spinner.component.scss'], - standalone: true, - imports: [MatButton, MatTooltip, OzgcloudButtonContentComponent, TooltipDirective], -}) -export class OzgcloudButtonWithSpinnerComponent implements OnInit { - @Input() icon: string; - @Input() svgIcon: string; - @Input() text: string; - @Input() stateResource: StateResource<Resource>; - @Input() color: string = 'primary'; - @Input() type: 'button' | 'submit' = 'button'; - @Input() toolTip: string = ''; - @Input() dataTestId: string; - @Input() showSpinner: boolean = false; - - @Output() public clickEmitter: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>(); - - get isDisabled(): boolean { - return this.showSpinner || this.stateResource.loading; - } - - ngOnInit(): void { - this.stateResource = this.getStateResource(); - } - - getStateResource(): StateResource<Resource> { - return isNil(this.stateResource) ? createEmptyStateResource<Resource>() : this.stateResource; - } -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html deleted file mode 100644 index 21035dd8675511d51040c8f6aa627b995bab54ed..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.html +++ /dev/null @@ -1,36 +0,0 @@ -<!-- - - 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. - ---> -<button - mat-icon-button - data-test-class="icon-button-primary" - [attr.aria-label]="ariaLabel" - [tooltip]="tooltip" - (click)="clickEmitter.emit($event)" - color="primary" - type="button" -> - <mat-icon data-test-class="icon" [svgIcon]="svgIcon"></mat-icon> -</button> diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss deleted file mode 100644 index a01b48881d53d2d9f8ee17768a885a76c7d902c5..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.scss +++ /dev/null @@ -1,27 +0,0 @@ -/** - * Copyright (C) 2025 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. - */ -:host { - position: relative; - z-index: 1; -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts deleted file mode 100644 index 48f65db0143ecaf0c0e6a564f1f6cd1619092934..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.spec.ts +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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 { createAriaLabelForIconButton } from '@alfa-client/tech-shared'; -import { getElementFromFixture } from '@alfa-client/test-utils'; -import { ComponentFixture, TestBed } from '@angular/core/testing'; -import { MatIcon } from '@angular/material/icon'; -import { MatIconTestingModule } from '@angular/material/icon/testing'; -import { TooltipDirective } from '@ods/system'; -import { getDataTestClassOf } from 'libs/tech-shared/test/data-test'; -import { MockComponent, MockDirective } from 'ng-mocks'; -import { OzgcloudIconButtonPrimaryComponent } from './ozgcloud-icon-button-primary.component'; - -jest.mock('@alfa-client/tech-shared'); -const createAriaLabelForIconButtonMock = createAriaLabelForIconButton as jest.Mock; - -describe('IconButtonPrimaryWithSpinnerComponent', () => { - let component: OzgcloudIconButtonPrimaryComponent; - let fixture: ComponentFixture<OzgcloudIconButtonPrimaryComponent>; - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [MatIconTestingModule], - declarations: [OzgcloudIconButtonPrimaryComponent, MockComponent(MatIcon), MockDirective(TooltipDirective)], - }); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(OzgcloudIconButtonPrimaryComponent); - component = fixture.componentInstance; - component.svgIcon = 'edit'; - - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('ngOnInit', () => { - it('should create aria label', () => { - component.ngOnInit(); - - expect(createAriaLabelForIconButtonMock).toHaveBeenCalledWith(component.tooltip, component.svgIcon); - }); - - it('should set aria label', () => { - const ariaLabel = 'Eine Taste'; - createAriaLabelForIconButtonMock.mockReturnValue(ariaLabel); - - component.ngOnInit(); - - expect(component.ariaLabel).toBe(ariaLabel); - }); - }); - - describe('onClick', () => { - it('should emit event', () => { - const element = getElementFromFixture(fixture, getDataTestClassOf('icon-button-primary')); - const emitSpy = jest.spyOn(component.clickEmitter, 'emit'); - - element.click(); - - expect(emitSpy).toHaveBeenCalled(); - }); - }); -}); diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.ts deleted file mode 100644 index d5fc959cc46fcc27629b9e8c48555d26cb877146..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-icon-button-primary/ozgcloud-icon-button-primary.component.ts +++ /dev/null @@ -1,50 +0,0 @@ -/* - * 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 { createAriaLabelForIconButton, StateResource } from '@alfa-client/tech-shared'; -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { MatIconButton } from '@angular/material/button'; -import { MatIcon } from '@angular/material/icon'; -import { MatTooltip } from '@angular/material/tooltip'; -import { Resource } from '@ngxp/rest'; -import { TooltipDirective } from '@ods/system'; - -@Component({ - selector: 'ozgcloud-icon-button-primary', - templateUrl: './ozgcloud-icon-button-primary.component.html', - styleUrls: ['./ozgcloud-icon-button-primary.component.scss'], - standalone: true, - imports: [MatIconButton, MatTooltip, MatIcon, TooltipDirective], -}) -export class OzgcloudIconButtonPrimaryComponent implements OnInit { - @Input() svgIcon: string; - @Input() stateResource: StateResource<Resource>; - @Input() tooltip = ''; - @Output() public clickEmitter: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>(); - - ariaLabel = ''; - - ngOnInit(): void { - this.ariaLabel = createAriaLabelForIconButton(this.tooltip, this.svgIcon); - } -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html deleted file mode 100644 index 9370aa544d1f60e38db71ae68296c0697ca3c39c..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.html +++ /dev/null @@ -1,45 +0,0 @@ -<!-- - - Copyright (C) 2023 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. - ---> -<button - mat-stroked-button - [attr.data-test-id]="dataTestId" - [color]="color" - [type]="type" - [disabled]="isDisabled" - [tooltip]="toolTip" - [class.with-text]="text" - (click)="clickEmitter.emit($event)" - [attr.data-test-class]="dataTestClass" -> - <ozgcloud-button-content - [icon]="icon" - [svgIcon]="svgIcon" - [text]="text" - [stateResource]="stateResource" - [showSpinner]="showSpinner" - [isDisabled]="isDisabled" - ></ozgcloud-button-content> -</button> diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.scss b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.scss deleted file mode 100644 index 2c22857104e6804f5cda4f86f91f3b44d00ce419..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.scss +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (C) 2023 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. - */ -button { - min-width: 36px; - min-height: 36px; - padding: 0; - &.with-text { - padding: 0 15px; - } -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts deleted file mode 100644 index 003beefa1683ff1850dd2aa43e733344d8682f1a..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.spec.ts +++ /dev/null @@ -1,160 +0,0 @@ -/* - * Copyright (C) 2023 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 { MatButton } from '@angular/material/button'; -import { MatRipple } from '@angular/material/core'; -import { TooltipDirective } from '@ods/system'; -import { createCommandResource } from 'libs/command-shared/test/command'; -import { getDataTestClassOf } from 'libs/tech-shared/test/data-test'; -import { MockComponent, MockDirective } from 'ng-mocks'; -import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component'; -import { OzgcloudStrokedButtonWithSpinnerComponent } from './ozgcloud-stroked-button-with-spinner.component'; - -import * as ResourceUtils from 'libs/tech-shared/src/lib/resource/resource.util'; - -describe('OzgcloudStrokedButtonWithSpinnerComponent', () => { - let component: OzgcloudStrokedButtonWithSpinnerComponent; - let fixture: ComponentFixture<OzgcloudStrokedButtonWithSpinnerComponent>; - - const buttonSelector: string = getDataTestClassOf('icon-button'); - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [ - MatButton, - MatRipple, - OzgcloudStrokedButtonWithSpinnerComponent, - MockDirective(TooltipDirective), - MockComponent(OzgcloudButtonContentComponent), - ], - }).compileComponents(); - }); - - beforeEach(() => { - fixture = TestBed.createComponent(OzgcloudStrokedButtonWithSpinnerComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('isDisabled', () => { - it('should return true if showSpinner is true and stateResource is loading', () => { - component.showSpinner = true; - component.stateResource.loading = true; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return true if showSpinner is false and stateResource is loading', () => { - component.showSpinner = false; - component.stateResource.loading = true; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return true if showSpinner is true and stateResource is not loading', () => { - component.showSpinner = true; - component.stateResource.loading = false; - - const result: boolean = component.isDisabled; - - expect(result).toBeTruthy(); - }); - - it('should return false if showSpinner is false and stateResource is not loading', () => { - component.showSpinner = false; - component.stateResource.loading = false; - - const result: boolean = component.isDisabled; - - expect(result).toBeFalsy(); - }); - }); - - describe('ngOnInit', () => { - it('should call getStateResource()', () => { - component.getStateResource = jest.fn(); - - component.ngOnInit(); - - expect(component.getStateResource).toHaveBeenCalled(); - }); - }); - - describe('getStateResource', () => { - it('should call createEmptyStateResource if stateResource is undefined', () => { - const spy = jest.spyOn(ResourceUtils, 'createEmptyStateResource'); - component.stateResource = undefined; - - component.getStateResource(); - - expect(spy).toHaveBeenCalled(); - }); - - it('should call createEmptyStateResource if stateResource is null', () => { - const spy = jest.spyOn(ResourceUtils, 'createEmptyStateResource'); - component.stateResource = null; - - component.getStateResource(); - - expect(spy).toHaveBeenCalled(); - }); - - it('should return non empty stateResource', () => { - component.stateResource = ResourceUtils.createStateResource(createCommandResource()); - - component.getStateResource(); - - const valid: boolean = ResourceUtils.isValidStateResource(component.stateResource); - expect(valid).toBeTruthy(); - }); - }); - - describe('Button', () => { - it('should NOT be disabled initialy', () => { - component.stateResource = ResourceUtils.createEmptyStateResource(); - fixture.detectChanges(); - - const button = fixture.nativeElement.querySelector(buttonSelector); - - expect(button).not.toBeDisabled(); - }); - - it('should be disabled if loading', () => { - component.stateResource = ResourceUtils.createEmptyStateResource(true); - fixture.detectChanges(); - - const button = fixture.nativeElement.querySelector(buttonSelector); - - expect(button).toBeDisabled(); - }); - }); -}); diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.ts deleted file mode 100644 index 8b9cc56e39ed79e44310a51efdce6bc9516add09..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/ozgcloud-stroked-button-with-spinner/ozgcloud-stroked-button-with-spinner.component.ts +++ /dev/null @@ -1,66 +0,0 @@ -/* - * Copyright (C) 2023 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 { StateResource, createEmptyStateResource } from '@alfa-client/tech-shared'; -import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; -import { MatButton } from '@angular/material/button'; -import { MatTooltip } from '@angular/material/tooltip'; -import { Resource } from '@ngxp/rest'; -import { TooltipDirective } from '@ods/system'; -import { isNil } from 'lodash-es'; -import { OzgcloudButtonContentComponent } from '../shared/ozgcloud-button-content/ozgcloud-button-content.component'; - -@Component({ - selector: 'ozgcloud-stroked-button-with-spinner', - templateUrl: './ozgcloud-stroked-button-with-spinner.component.html', - styleUrls: ['./ozgcloud-stroked-button-with-spinner.component.scss'], - standalone: true, - imports: [MatButton, MatTooltip, OzgcloudButtonContentComponent, TooltipDirective], -}) -export class OzgcloudStrokedButtonWithSpinnerComponent implements OnInit { - @Input() icon: string; - @Input() svgIcon: string; - @Input() text: string; - @Input() stateResource: StateResource<Resource>; - @Input() color: string = 'primary'; - @Input() type: 'button' | 'submit' = 'button'; - @Input() toolTip: string = ''; - @Input() dataTestId: string; - @Input() showSpinner: boolean = false; - @Input() strokedButton: boolean = true; - @Input() dataTestClass: string = 'icon-button'; - - @Output() public clickEmitter: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>(); - - get isDisabled(): boolean { - return this.showSpinner || this.stateResource.loading; - } - - ngOnInit(): void { - this.stateResource = this.getStateResource(); - } - - getStateResource(): StateResource<Resource> { - return isNil(this.stateResource) ? createEmptyStateResource<Resource>() : this.stateResource; - } -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.html b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.html deleted file mode 100644 index 88d174c6a844f216987f40801c6e7c6cfcc35b76..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.html +++ /dev/null @@ -1,46 +0,0 @@ -<!-- - -Copyright (C) 2023 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. - ---> -@if (icon) { - <mat-icon data-test-class="icon" [class.with-text]="text" [style.visibility]="isDisabled ? 'hidden' : 'visible'"> - {{ icon }} - </mat-icon> -} - -@if (svgIcon) { - <mat-icon - data-test-class="icon" - [class.with-text]="text" - [svgIcon]="svgIcon" - [style.visibility]="isDisabled ? 'hidden' : 'visible'" - > - </mat-icon> -} - -@if (text) { - <span class="text-sm" data-test-class="button-with-spinner-text">{{ text }}</span> -} - -<ozgcloud-spinner [diameter]="22" padding="0" [stateResource]="stateResource" [show]="showSpinner"> </ozgcloud-spinner> diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.scss b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.scss deleted file mode 100644 index 804e8130f2250d6cde08e270601f20e2287d03e0..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.scss +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright (C) 2023 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. - */ -$rightMargin: 8px; - -:host { - display: flex; - align-items: center; - justify-content: center; -} - -mat-icon.with-text { - margin-right: $rightMargin; -} - -ozgcloud-spinner { - position: absolute; - top: 0; - display: flex; - height: 100%; - width: 100%; - justify-content: flex-start; - align-items: center; -} diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.spec.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.spec.ts deleted file mode 100644 index 14e079e54c2bc4faa5cb355342b24850d15e9acc..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.spec.ts +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2023 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 { MatIcon } from '@angular/material/icon'; -import { getDataTestClassOf } from 'libs/tech-shared/test/data-test'; -import { MockComponent } from 'ng-mocks'; -import { SpinnerComponent } from '../../../spinner/spinner.component'; -import { OzgcloudButtonContentComponent } from './ozgcloud-button-content.component'; - -describe('OzgcloudButtonContentComponent', () => { - let component: OzgcloudButtonContentComponent; - let fixture: ComponentFixture<OzgcloudButtonContentComponent>; - - const iconSelector: string = getDataTestClassOf('icon'); - const text: string = getDataTestClassOf('button-with-spinner-text'); - - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [MatIcon, MockComponent(SpinnerComponent), OzgcloudButtonContentComponent], - }).compileComponents(); - - fixture = TestBed.createComponent(OzgcloudButtonContentComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); - - it('should create', () => { - expect(component).toBeTruthy(); - }); - - describe('Icon', () => { - beforeEach(() => { - component.icon = 'add'; - }); - - it('should be visible', () => { - component.isDisabled = false; - fixture.detectChanges(); - - const icon = fixture.nativeElement.querySelector(iconSelector); - - expect(icon).toBeVisible(); - }); - - it('should not be visible', () => { - component.isDisabled = true; - fixture.detectChanges(); - - const icon = fixture.nativeElement.querySelector(iconSelector); - - expect(icon).not.toBeVisible(); - }); - }); - - describe('Text', () => { - it('should be visible if exist', () => { - component.text = 'Test text'; - fixture.detectChanges(); - - const textElement = fixture.nativeElement.querySelector(text); - - expect(textElement).toBeInTheDocument(); - }); - - it('should not be visible if is null', () => { - component.text = null; - fixture.detectChanges(); - - const textElement = fixture.nativeElement.querySelector(text); - - expect(textElement).not.toBeInTheDocument(); - }); - }); -}); diff --git a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.ts b/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.ts deleted file mode 100644 index 4e2b5fec9f852c47df972ecaaa22531ca7a25069..0000000000000000000000000000000000000000 --- a/alfa-client/libs/ui/src/lib/ui/ozgcloud-button/shared/ozgcloud-button-content/ozgcloud-button-content.component.ts +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (C) 2023 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 { StateResource } from '@alfa-client/tech-shared'; -import { Component, Input } from '@angular/core'; -import { MatIcon } from '@angular/material/icon'; -import { Resource } from '@ngxp/rest'; -import { SpinnerComponent } from '../../../spinner/spinner.component'; - -@Component({ - selector: 'ozgcloud-button-content', - templateUrl: './ozgcloud-button-content.component.html', - styleUrls: ['./ozgcloud-button-content.component.scss'], - standalone: true, - imports: [MatIcon, SpinnerComponent], -}) -export class OzgcloudButtonContentComponent { - @Input() icon: string; - @Input() svgIcon: string; - @Input() text: string; - @Input() stateResource: StateResource<Resource>; - @Input() showSpinner: boolean = false; - @Input() isDisabled: boolean = false; -} diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts index 9d3f598250db9509613d99115e989abfbefbd296..3ac0213c1ef45ae4f1f5b4ec0665cc38df49e6fd 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-area.component.spec.ts @@ -27,7 +27,7 @@ import { KommentarListInVorgangContainerComponent } from '@alfa-client/kommentar import { PostfachMailListContainerComponent } from '@alfa-client/postfach'; import { createEmptyStateResource, createStateResource, HasLinkPipe, ToEmbeddedResourcesPipe } from '@alfa-client/tech-shared'; import { existsAsHtmlElement, getMockComponent, notExistsAsHtmlElement } from '@alfa-client/test-utils'; -import { ExpansionPanelComponent, OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; +import { ExpansionPanelComponent } from '@alfa-client/ui'; import { VorgangHeaderLinkRel, VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { WiedervorlageListInVorgangContainerComponent } from '@alfa-client/wiedervorlage'; import { ComponentFixture, TestBed } from '@angular/core/testing'; @@ -66,7 +66,6 @@ describe('VorgangDetailAreaComponent', () => { MockComponent(SpinnerComponent), MockComponent(VorgangDetailHeaderComponent), MockComponent(VorgangDetailFormularButtonsComponent), - MockComponent(OzgcloudStrokedButtonWithSpinnerComponent), MockComponent(WiedervorlageListInVorgangContainerComponent), MockComponent(KommentarListInVorgangContainerComponent), MockComponent(PostfachMailListContainerComponent), diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component.spec.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component.spec.ts index 04956f9d574e55013fd19ba30851dfdaf0010110..b73d37b4400b8df5287b2635bb208208f44bed6f 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component.spec.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail-page/vorgang-detail-area/vorgang-detail-formular-buttons/vorgang-detail-formular-buttons.component.spec.ts @@ -22,10 +22,13 @@ * unter der Lizenz sind dem Lizenztext zu entnehmen. */ import { ForwardingButtonContainerComponent } from '@alfa-client/forwarding'; -import { EndgueltigLoeschenButtonContainerComponent, LoeschAnforderungZuruecknehmenButtonContainerComponent, LoeschenAnfordernButtonContainerComponent, } from '@alfa-client/loesch-anforderung'; +import { + EndgueltigLoeschenButtonContainerComponent, + LoeschAnforderungZuruecknehmenButtonContainerComponent, + LoeschenAnfordernButtonContainerComponent, +} from '@alfa-client/loesch-anforderung'; import { HasLinkPipe } from '@alfa-client/tech-shared'; import { existsAsHtmlElement, getMockComponent, notExistsAsHtmlElement } from '@alfa-client/test-utils'; -import { OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { getDataTestIdOf } from 'libs/tech-shared/test/data-test'; @@ -54,7 +57,6 @@ describe('VorgangDetailFormularButtonsComponent', () => { declarations: [ VorgangDetailFormularButtonsComponent, HasLinkPipe, - MockComponent(OzgcloudStrokedButtonWithSpinnerComponent), MockComponent(AnnehmenButtonComponent), MockComponent(BearbeitenButtonComponent), MockComponent(VerwerfenButtonComponent), diff --git a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts index 6e02eacd8d900f7c37fa503cc2921591713632f0..1663bf127882eebaeee5162c091db2c7a768a82f 100644 --- a/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts +++ b/alfa-client/libs/vorgang-detail/src/lib/vorgang-detail.module.ts @@ -37,11 +37,9 @@ import { DateEditorComponent, ExpansionPanelComponent, IconButtonWithSpinnerComponent, - OzgcloudIconButtonPrimaryComponent, OzgcloudIconComponent, OzgcloudMenuComponent, OzgcloudPasteTextButtonComponent, - OzgcloudStrokedButtonWithSpinnerComponent, OzgcloudTextEditorComponent, SpinnerComponent, SpinnerTransparencyComponent, @@ -158,8 +156,6 @@ const routes: Routes = [ MatIcon, OzgcloudPasteTextButtonComponent, MatDialogActions, - OzgcloudStrokedButtonWithSpinnerComponent, - OzgcloudIconButtonPrimaryComponent, HasLinkPipe, IconButtonWithSpinnerComponent, ExpansionPanelComponent, diff --git a/alfa-client/libs/wiedervorlage/src/lib/submit-wiedervorlage-button/submit-wiedervorlage-button.component.spec.ts b/alfa-client/libs/wiedervorlage/src/lib/submit-wiedervorlage-button/submit-wiedervorlage-button.component.spec.ts index 330c99e7f5b9d1862ef91bf455437a9d2a57c49e..b6138325a28777b80771fb089f9a60bf77061c67 100644 --- a/alfa-client/libs/wiedervorlage/src/lib/submit-wiedervorlage-button/submit-wiedervorlage-button.component.spec.ts +++ b/alfa-client/libs/wiedervorlage/src/lib/submit-wiedervorlage-button/submit-wiedervorlage-button.component.spec.ts @@ -25,7 +25,6 @@ import { CommandResource } from '@alfa-client/command-shared'; import { NavigationService } from '@alfa-client/navigation-shared'; import { createStateResource, StateResource } from '@alfa-client/tech-shared'; import { mock } from '@alfa-client/test-utils'; -import { OzgcloudStrokedButtonWithSpinnerComponent } from '@alfa-client/ui'; import { WiedervorlageService } from '@alfa-client/wiedervorlage-shared'; import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ActivatedRoute } from '@angular/router'; @@ -52,12 +51,7 @@ describe('SubmitWiedervorlageButtonComponent', () => { beforeEach(async () => { await TestBed.configureTestingModule({ - declarations: [ - SubmitWiedervorlageButtonComponent, - MockComponent(OzgcloudStrokedButtonWithSpinnerComponent), - MockComponent(ButtonWithSpinnerComponent), - MockComponent(IconComponent), - ], + declarations: [SubmitWiedervorlageButtonComponent, MockComponent(ButtonWithSpinnerComponent), MockComponent(IconComponent)], providers: [ { provide: WiedervorlageService, diff --git a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts index 95a9608c8f1aee6d24bd99dbce4d9e6f28ca751b..11f6945c98ac50307ff64950d808be4822b03126 100644 --- a/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts +++ b/alfa-client/libs/wiedervorlage/src/lib/wiedervorlage.module.ts @@ -36,7 +36,6 @@ import { DateEditorComponent, ExpansionPanelComponent, IconButtonWithSpinnerComponent, - OzgcloudStrokedButtonWithSpinnerComponent, OzgcloudTextEditorComponent, SpinnerComponent, SubnavigationComponent, @@ -92,7 +91,6 @@ const routes: Routes = [ UserProfileModule, HasLinkPipe, IconButtonWithSpinnerComponent, - OzgcloudStrokedButtonWithSpinnerComponent, MatIcon, MatTooltip, ToTrafficLightTooltipPipe,