Parcourir la source

modal pain!

master
Daniel il y a 2 ans
Parent
révision
70c2679a23
6 fichiers modifiés avec 44 ajouts et 11 suppressions
  1. +1
    -1
      matsen-tool/src/app/_components/modal/modal.component.html
  2. +19
    -7
      matsen-tool/src/app/_components/modal/modal.component.ts
  3. +3
    -0
      matsen-tool/src/app/_interfaces/modalContent.ts
  4. +1
    -0
      matsen-tool/src/app/contacts/new-contact/new-contact.component.html
  5. +17
    -3
      matsen-tool/src/app/contacts/new-contact/new-contact.component.ts
  6. +3
    -0
      matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts

+ 1
- 1
matsen-tool/src/app/_components/modal/modal.component.html Voir le fichier

@@ -3,7 +3,7 @@
<button type="button" class="btn-close" aria-label="Close" (click)="activeModal.dismiss('Cross click')"></button>
</div>
<div class="modal-body">
<ng-container *ngComponentOutlet="dynamicComponent"></ng-container>
<ng-container *ngComponentOutlet="dynamicComponent; inputs: inputData"></ng-container>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-dark" (click)="activeModal.close('Close click')">Close</button>

+ 19
- 7
matsen-tool/src/app/_components/modal/modal.component.ts Voir le fichier

@@ -1,14 +1,26 @@
import {Component, Input} from '@angular/core';
import {Component, Input, OnInit} from '@angular/core';
import {NgbActiveModal} from "@ng-bootstrap/ng-bootstrap";
import {ModalContent} from "@app/_interfaces/modalContent";

@Component({
selector: 'app-modal',
templateUrl: './modal.component.html',
styleUrl: './modal.component.scss'
selector: 'app-modal',
templateUrl: './modal.component.html',
styleUrl: './modal.component.scss',
})
export class ModalComponent {
@Input() dynamicComponent: any;
export class ModalComponent implements OnInit {
@Input() dynamicComponent: any;
@Input() inputData: any;

constructor(public activeModal: NgbActiveModal) { }
constructor(public activeModal: NgbActiveModal) {

}

ngOnInit(): void {

}

public static createInputData(inputData: any) {
return { 'inputData': inputData }
}

}

+ 3
- 0
matsen-tool/src/app/_interfaces/modalContent.ts Voir le fichier

@@ -0,0 +1,3 @@
export interface ModalContent {
inputData: any;
}

+ 1
- 0
matsen-tool/src/app/contacts/new-contact/new-contact.component.html Voir le fichier

@@ -48,3 +48,4 @@
<button type="submit" class="btn btn-primary" [disabled]="contactForm.invalid">Abschicken</button>
</form>
</div>


+ 17
- 3
matsen-tool/src/app/contacts/new-contact/new-contact.component.ts Voir le fichier

@@ -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(


+ 3
- 0
matsen-tool/src/app/partners/partners-detail/partners-detail.component.ts Voir le fichier

@@ -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() {


Chargement…
Annuler
Enregistrer