diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/envelope-creation.component.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/envelope-creation.component.ts
index 288b0552..cf593a4c 100644
--- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/envelope-creation.component.ts
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/envelope-creation.component.ts
@@ -5,7 +5,7 @@ import { MatFormFieldModule } from '@angular/material/form-field';
import { MatStepperModule } from '@angular/material/stepper';
import { MatButtonModule } from '@angular/material/button';
import { MatSelectModule } from '@angular/material/select';
-import { ReceiverService } from '../../services/receiver.service';
+import { ReceiverInputComponent } from "./receiver-input/receiver-input.component";
@Component({
selector: 'app-envelope-creation',
@@ -17,16 +17,14 @@ import { ReceiverService } from '../../services/receiver.service';
ReactiveFormsModule,
MatFormFieldModule,
MatInputModule,
- MatSelectModule
- ],
+ MatSelectModule,
+ ReceiverInputComponent
+],
templateUrl: './envelope-creation.component.html',
styleUrl: './envelope-creation.component.scss'
})
export class EnvelopeCreationComponent {
- constructor(private receiverService: ReceiverService) {
- }
-
ngOnInit() {
this.selectedType = this.types[0].value;
}
@@ -43,8 +41,8 @@ export class EnvelopeCreationComponent {
selectedType: string = "Mietvertrag"
types: any[] = [
- { value: 0, viewValue: 'Mietvertrag' },
- { value: 1, viewValue: 'Kaufvertrag' }
+ {value: 0, viewValue: 'Mietvertrag'},
+ {value: 1, viewValue: 'Kaufvertrag'}
];
typeControl = new FormControl('Mietvertrag', [Validators.required]);
}
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.html b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.html
new file mode 100644
index 00000000..c063b33e
--- /dev/null
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.html
@@ -0,0 +1,34 @@
+
+
+
+ | Email |
+
+
+
+ |
+
+
+
+ Anrede Email |
+ {{element.name}} |
+
+
+
+ Zugriffscode |
+ {{element.accessCode}} |
+
+
+
+
+
\ No newline at end of file
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.scss b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.scss
new file mode 100644
index 00000000..fa438f72
--- /dev/null
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.scss
@@ -0,0 +1,7 @@
+.mat-stepper-vertical {
+ margin-top: 8px;
+}
+
+.mat-mdc-form-field {
+ margin-top: 16px;
+}
\ No newline at end of file
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.spec.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.spec.ts
new file mode 100644
index 00000000..b8e55f5a
--- /dev/null
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { ReceiverInputComponent } from './receiver-input.component';
+
+describe('ReceiverInputComponent', () => {
+ let component: ReceiverInputComponent;
+ let fixture: ComponentFixture
;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ imports: [ReceiverInputComponent]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(ReceiverInputComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.ts
new file mode 100644
index 00000000..10d5586a
--- /dev/null
+++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/pages/envelope-creation/receiver-input/receiver-input.component.ts
@@ -0,0 +1,64 @@
+import { Component, OnInit } from '@angular/core';
+import { Validators, FormsModule, ReactiveFormsModule, FormControl } from '@angular/forms';
+import { MatInputModule } from '@angular/material/input';
+import { MatTableModule } from '@angular/material/table';
+import { Observable } from 'rxjs';
+import { startWith, map } from 'rxjs/operators';
+import { AsyncPipe } from '@angular/common';
+import { MatAutocompleteModule } from '@angular/material/autocomplete';
+import { MatFormFieldModule } from '@angular/material/form-field';
+import { ReceiverService } from '../../../services/receiver.service'
+
+@Component({
+ selector: 'receiver-input',
+ standalone: true,
+ imports: [
+ MatTableModule,
+ FormsModule,
+ MatFormFieldModule,
+ MatInputModule,
+ MatAutocompleteModule,
+ ReactiveFormsModule,
+ AsyncPipe
+ ],
+ templateUrl: './receiver-input.component.html',
+ styleUrl: './receiver-input.component.scss'
+})
+export class ReceiverInputComponent implements OnInit {
+
+ constructor(private receiverService: ReceiverService) { }
+
+ async ngOnInit() {
+ this.receiverService.getReceiver().subscribe({
+ next: (receivers) => {
+ this.options = receivers.map((r: any) => r.emailAddress);
+
+ this.filteredOptions = this.control.valueChanges.pipe(
+ startWith(''),
+ map(value => this._filter(value || '')),
+ );
+ }
+ })
+ }
+
+ typeControl = new FormControl('Mietvertrag', [Validators.required]);
+
+ control = new FormControl('');
+ options: string[] = [];
+ filteredOptions!: Observable;
+
+
+ private _filter(value: string): string[] {
+ const filterValue = value.toLowerCase();
+
+ return this.options.filter(option => option.toLowerCase().includes(filterValue));
+ }
+
+ //table
+ receiverData: { email: string; name: string; accessCode: string }[] = [
+ { email: "", name: "", accessCode: "" }
+ ];
+
+ displayedColumns: string[] = ['email', 'name', 'accessCode'];
+
+}