From 70c2679a23031af65170528b455ba19aa294295d Mon Sep 17 00:00:00 2001 From: Daniel Date: Mon, 19 Feb 2024 17:20:38 +0100 Subject: [PATCH] modal pain! --- .../_components/modal/modal.component.html | 2 +- .../app/_components/modal/modal.component.ts | 26 ++++++++++++++----- .../src/app/_interfaces/modalContent.ts | 3 +++ .../new-contact/new-contact.component.html | 1 + .../new-contact/new-contact.component.ts | 20 +++++++++++--- .../partners-detail.component.ts | 3 +++ 6 files changed, 44 insertions(+), 11 deletions(-) create mode 100644 matsen-tool/src/app/_interfaces/modalContent.ts diff --git a/matsen-tool/src/app/_components/modal/modal.component.html b/matsen-tool/src/app/_components/modal/modal.component.html index 1bf5593..3ac6f29 100644 --- a/matsen-tool/src/app/_components/modal/modal.component.html +++ b/matsen-tool/src/app/_components/modal/modal.component.html @@ -3,7 +3,7 @@ + diff --git a/matsen-tool/src/app/contacts/new-contact/new-contact.component.ts b/matsen-tool/src/app/contacts/new-contact/new-contact.component.ts index 1cab423..fde8e3d 100644 --- a/matsen-tool/src/app/contacts/new-contact/new-contact.component.ts +++ b/matsen-tool/src/app/contacts/new-contact/new-contact.component.ts @@ -1,21 +1,26 @@ -import {Component} from '@angular/core'; +import {Component, Input, OnInit} from '@angular/core'; import {FormGroup} from "@angular/forms"; import {contactForm} from "@app/_forms/apiForms"; import {ContactJsonld, ContactService} from "@app/core/api/v1"; import {Subscription} from "rxjs"; +import {ModalContent} from "@app/_interfaces/modalContent"; + @Component({ selector: 'app-new-contact', templateUrl: './new-contact.component.html', styleUrl: './new-contact.component.scss' }) -export class NewContactComponent { +export class NewContactComponent implements ModalContent, OnInit { + + @Input() public inputData: any; + protected contactForm: FormGroup; protected selectedImage: File | null; protected contactSub: Subscription; constructor( - private contactService: ContactService + private contactService: ContactService, ) { this.contactForm = contactForm; this.selectedImage = null; @@ -23,12 +28,21 @@ export class NewContactComponent { this.contactSub = new Subscription(); } + ngOnInit(): void { + console.log(this.inputData); + } + + onSubmit() { + //console.log(this.partnerId); if (this.contactForm.valid) { // Hier können Sie die Daten senden oder weitere Aktionen durchführen console.log(this.selectedImage); console.log('Formular wurde gesendet:', this.contactForm.value); + let newContact: ContactJsonld = this.contactForm.value as ContactJsonld; + newContact.postings = []; + this.contactSub = this.contactService.contactsPost( this.contactForm.value as ContactJsonld ).subscribe( diff --git a/matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts b/matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts index 4538ddc..e8d21c4 100644 --- a/matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts +++ b/matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts @@ -11,6 +11,7 @@ import {MatPaginator, MatPaginatorIntl, PageEvent} from "@angular/material/pagin import {MatTableDataSource} from "@angular/material/table"; import {NewPostingComponent} from "@app/postings/new-posting/new-posting.component"; import {NewTaskComponent} from "@app/tasks/new-task/new-task.component"; +import {NewPartnerComponent} from "@app/partners/new-partner/new-partner.component"; @Component({ selector: 'app-partners-detail', @@ -96,11 +97,13 @@ export class PartnersDetailComponent implements OnInit, AfterViewInit { openModalNewContact() { const modalRef = this.modalService.open(ModalComponent); modalRef.componentInstance.dynamicComponent = NewContactComponent; + modalRef.componentInstance.inputData = ModalComponent.createInputData(this.partner.id); } openModalNewPosting() { const modalRef = this.modalService.open(ModalComponent); modalRef.componentInstance.dynamicComponent = NewPostingComponent; + } openModalNewTask() {