From 89866233b40abee80158ad90c88b8f483ec460d1 Mon Sep 17 00:00:00 2001
From: Albert <Albert.Bruns@mgm-tp.com>
Date: Thu, 6 Mar 2025 12:15:34 +0100
Subject: [PATCH] OZG-725-7891 componenten anlegen

---
 ...y-ozgcloud-button-container.component.html | 14 +++++-----
 ...zgcloud-button-container.component.spec.ts |  4 +--
 ...-by-ozgcloud-button-container.component.ts |  7 +++--
 ...forwarding-dialog-container.component.html |  1 +
 ...warding-dialog-container.component.spec.ts | 23 ++++++++++++++++
 .../forwarding-dialog-container.component.ts  | 10 +++++++
 .../forwarding-dialog.component.html          | 13 +++++++++
 .../forwarding-dialog.component.spec.ts       | 23 ++++++++++++++++
 .../forwarding-dialog.component.ts            | 27 +++++++++++++++++++
 9 files changed, 111 insertions(+), 11 deletions(-)
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.html
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
 create mode 100644 alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts

diff --git a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html
index 6afe4a115c..34e76b0caf 100644
--- a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html
+++ b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.html
@@ -1,6 +1,6 @@
-@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) {
+<!--@if (vorgangWithEingang | hasLink: vorgangWithEingangLinkRel.FORWARD_BY_OZGCLOUD) {-->
   @if (showAsIconButton) {
-    <ods-button-with-spinner
+    <ods-open-dialog-button
       [tooltip]="'Vorgang weiterleiten'"
       tooltipAriaType="aria-labelledby"
       variant="ghost"
@@ -8,10 +8,10 @@
       dataTestId="forward-by-ozgcloud-icon-button"
     >
       <ods-forward-vorgang-icon icon class="fill-text" />
-    </ods-button-with-spinner>
+    </ods-open-dialog-button>
   } @else {
-    <ods-button-with-spinner text="Weiterleiten" variant="outline" dataTestId="forward-by-ozgcloud-button">
-      <ods-forward-vorgang-icon icon />
-    </ods-button-with-spinner>
+    <ods-open-dialog-button label="Weiterleiten" variant="outline" dataTestId="forward-by-ozgcloud-button">
+      <ods-forward-vorgang-icon icon class="fill-primary" />
+    </ods-open-dialog-button>
   }
-}
+<!--}-->
diff --git a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.spec.ts
index 8aab319a28..a5bb372815 100644
--- a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.spec.ts
+++ b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.spec.ts
@@ -2,7 +2,7 @@ import { HasLinkPipe } from '@alfa-client/tech-shared';
 import { existsAsHtmlElement, notExistsAsHtmlElement } from '@alfa-client/test-utils';
 import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
 import { ComponentFixture, TestBed } from '@angular/core/testing';
-import { ButtonWithSpinnerComponent } from '@ods/component';
+import { OpenDialogButtonComponent } from '@ods/component';
 import { ForwardVorgangIconComponent, TooltipDirective } from '@ods/system';
 import { getDataTestIdAttributeOf } from 'libs/tech-shared/test/data-test';
 import { createVorgangWithEingangResource } from 'libs/vorgang-shared/test/vorgang';
@@ -20,7 +20,7 @@ describe('ForwardByOzgcloudButtonContainerComponent', () => {
     await TestBed.configureTestingModule({
       imports: [ForwardByOzgcloudButtonContainerComponent, HasLinkPipe],
       declarations: [
-        MockComponent(ButtonWithSpinnerComponent),
+        MockComponent(OpenDialogButtonComponent),
         MockComponent(ForwardVorgangIconComponent),
         MockDirective(TooltipDirective),
       ],
diff --git a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.ts b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.ts
index f5fbad7ed1..0cf9083577 100644
--- a/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.ts
+++ b/alfa-client/libs/forwarding/src/lib/forward-by-ozgcloud-button-container/forward-by-ozgcloud-button-container.component.ts
@@ -1,15 +1,18 @@
 import { HasLinkPipe } from '@alfa-client/tech-shared';
+import { DIALOG_COMPONENT } from '@alfa-client/ui';
 import { VorgangWithEingangLinkRel, VorgangWithEingangResource } from '@alfa-client/vorgang-shared';
 import { CommonModule } from '@angular/common';
 import { Component, Input } from '@angular/core';
-import { ButtonWithSpinnerComponent } from '@ods/component';
+import { OpenDialogButtonComponent } from '@ods/component';
 import { ForwardVorgangIconComponent, TooltipDirective } from '@ods/system';
+import { ForwardingDialogContainerComponent } from '../forwarding-dialog-container/forwarding-dialog-container.component';
 
 @Component({
   selector: 'alfa-forward-by-ozgcloud-button-container',
   standalone: true,
-  imports: [CommonModule, ButtonWithSpinnerComponent, ForwardVorgangIconComponent, TooltipDirective, HasLinkPipe],
+  imports: [CommonModule, ForwardVorgangIconComponent, TooltipDirective, HasLinkPipe, OpenDialogButtonComponent],
   templateUrl: './forward-by-ozgcloud-button-container.component.html',
+  providers: [{ provide: DIALOG_COMPONENT, useValue: ForwardingDialogContainerComponent }],
   styles: [':host {@apply empty:hidden}'],
 })
 export class ForwardByOzgcloudButtonContainerComponent {
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.html
new file mode 100644
index 0000000000..bf2b9b1bb3
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.html
@@ -0,0 +1 @@
+<alfa-forwarding-dialog />
\ No newline at end of file
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts
new file mode 100644
index 0000000000..8c70ffee40
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ForwardingDialogContainerComponent } from './forwarding-dialog-container.component';
+
+describe('ForwardingDialogContainerComponent', () => {
+  let component: ForwardingDialogContainerComponent;
+  let fixture: ComponentFixture<ForwardingDialogContainerComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ForwardingDialogContainerComponent]
+    })
+    .compileComponents();
+
+    fixture = TestBed.createComponent(ForwardingDialogContainerComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts
new file mode 100644
index 0000000000..f7014e77c7
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog-container.component.ts
@@ -0,0 +1,10 @@
+import { Component } from '@angular/core';
+import { ForwardingDialogComponent } from './forwarding-dialog/forwarding-dialog.component';
+
+@Component({
+  selector: 'alfa-forwarding-dialog-container',
+  standalone: true,
+  imports: [ForwardingDialogComponent],
+  templateUrl: './forwarding-dialog-container.component.html',
+})
+export class ForwardingDialogContainerComponent {}
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
new file mode 100644
index 0000000000..3c197754b4
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.html
@@ -0,0 +1,13 @@
+<div class="block bg-background-100 flex flex-col gap-4 p-8">
+  <div class="flex space-between">
+    <h1>Vorgang weiterleiten</h1>
+    <ods-cancel-dialog-button />
+  </div>
+
+  <div>
+    <ods-button-with-spinner label="Weiterleiten" variant="outline" dataTestId="forward-by-ozgcloud-button">
+      <ods-forward-vorgang-icon icon class="fill-primary" />
+    </ods-button-with-spinner>
+    <ods-cancel-dialog-button />
+  </div>
+</div>
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
new file mode 100644
index 0000000000..40f13743f8
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ForwardingDialogComponent } from './forwarding-dialog.component';
+
+describe('ForwardingDialogComponent', () => {
+  let component: ForwardingDialogComponent;
+  let fixture: ComponentFixture<ForwardingDialogComponent>;
+
+  beforeEach(async () => {
+    await TestBed.configureTestingModule({
+      imports: [ForwardingDialogComponent]
+    })
+    .compileComponents();
+
+    fixture = TestBed.createComponent(ForwardingDialogComponent);
+    component = fixture.componentInstance;
+    fixture.detectChanges();
+  });
+
+  it('should create', () => {
+    expect(component).toBeTruthy();
+  });
+});
diff --git a/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
new file mode 100644
index 0000000000..ccc83a659e
--- /dev/null
+++ b/alfa-client/libs/forwarding/src/lib/forwarding-dialog-container/forwarding-dialog/forwarding-dialog.component.ts
@@ -0,0 +1,27 @@
+import { VorgangWithEingangLinkRel } from '@alfa-client/vorgang-shared';
+import { ZustaendigeStelleModule } from '@alfa-client/zustaendige-stelle';
+import { OrganisationsEinheitService, ZUSTAENDIGE_STELLE_SERVICE } from '@alfa-client/zustaendige-stelle-shared';
+import { Component, EventEmitter, Output } from '@angular/core';
+import { ReactiveFormsModule } from '@angular/forms';
+import { Resource } from '@ngxp/rest';
+import { ButtonWithSpinnerComponent, CancelDialogButtonComponent } from '@ods/component';
+import { ForwardVorgangIconComponent } from '@ods/system';
+
+@Component({
+  selector: 'alfa-forwarding-dialog',
+  standalone: true,
+  imports: [
+    CancelDialogButtonComponent,
+    ButtonWithSpinnerComponent,
+    ForwardVorgangIconComponent,
+    ReactiveFormsModule,
+    ZustaendigeStelleModule,
+  ],
+  templateUrl: './forwarding-dialog.component.html',
+  providers: [{ provide: ZUSTAENDIGE_STELLE_SERVICE, useValue: OrganisationsEinheitService }],
+})
+export class ForwardingDialogComponent {
+  @Output() selectSearchResult: EventEmitter<Resource> = new EventEmitter<Resource>();
+  @Output() public search: EventEmitter<string> = new EventEmitter();
+  protected readonly vorgangLinkRel = VorgangWithEingangLinkRel;
+}
-- 
GitLab