Add a callback on the modal closing.
This commit is contained in:
@@ -33,11 +33,19 @@ export class CreateApplicationComponent implements OnInit {
|
|||||||
.catch(error => console.error('An error occured while loading service types.'));
|
.catch(error => console.error('An error occured while loading service types.'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onServiceTypeSelection(event: ReferentialData): void {
|
||||||
|
this.form.controls.serviceType.setValue(event.value);
|
||||||
|
console.log(event.value);
|
||||||
|
}
|
||||||
|
|
||||||
onSubmit(): void {
|
onSubmit(): void {
|
||||||
if (this.form.valid) {
|
if (this.form.valid) {
|
||||||
const appToAdd: Application = this.form.value as Application;
|
const appToAdd: Application = this.form.value as Application;
|
||||||
this._applicationService.add(appToAdd)
|
this._applicationService.add(appToAdd)
|
||||||
.then(applicationAdded => console.log('Application added.'))
|
.then(applicationAdded => {
|
||||||
|
console.log('Application added.');
|
||||||
|
this._modalService.close();
|
||||||
|
})
|
||||||
.catch(error => console.error('An error occured while adding the new application.'));
|
.catch(error => console.error('An error occured while adding the new application.'));
|
||||||
} else {
|
} else {
|
||||||
console.error('Form is invalid');
|
console.error('Form is invalid');
|
||||||
@@ -47,9 +55,4 @@ export class CreateApplicationComponent implements OnInit {
|
|||||||
onCancel(): void {
|
onCancel(): void {
|
||||||
this._modalService.close();
|
this._modalService.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
onServiceTypeSelection(event: ReferentialData): void {
|
|
||||||
this.form.controls.serviceType.setValue(event.value);
|
|
||||||
console.log(event.value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -18,6 +18,11 @@ export class StatusComponent implements OnInit {
|
|||||||
) {}
|
) {}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
this.loadApplications();
|
||||||
|
this._modalService.onClose.subscribe(() => this.loadApplications());
|
||||||
|
}
|
||||||
|
|
||||||
|
private loadApplications(): void {
|
||||||
this._applicationService.getAllStatus()
|
this._applicationService.getAllStatus()
|
||||||
.then(applicationsStatus => this.applicationsStatus = applicationsStatus);
|
.then(applicationsStatus => this.applicationsStatus = applicationsStatus);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,12 @@
|
|||||||
import { Injectable, Type } from "@angular/core";
|
import { Injectable, Type } from "@angular/core";
|
||||||
import { BehaviorSubject, Observable } from "rxjs";
|
import { BehaviorSubject, Observable, Subject } from "rxjs";
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
})
|
})
|
||||||
export class ModalService {
|
export class ModalService {
|
||||||
_modalContent: BehaviorSubject<Type<unknown> | undefined> = new BehaviorSubject<Type<unknown> | undefined>(undefined);
|
_modalContent: BehaviorSubject<Type<unknown> | undefined> = new BehaviorSubject<Type<unknown> | undefined>(undefined);
|
||||||
|
_onClose: Subject<void> = new Subject();
|
||||||
|
|
||||||
open(componentClass: Type<unknown>): void {
|
open(componentClass: Type<unknown>): void {
|
||||||
this._modalContent.next(componentClass);
|
this._modalContent.next(componentClass);
|
||||||
@@ -13,9 +14,14 @@ export class ModalService {
|
|||||||
|
|
||||||
close(): void {
|
close(): void {
|
||||||
this._modalContent.next(undefined);
|
this._modalContent.next(undefined);
|
||||||
|
this._onClose.next();
|
||||||
}
|
}
|
||||||
|
|
||||||
get modalContent(): Observable<Type<unknown> | undefined> {
|
get modalContent(): Observable<Type<unknown> | undefined> {
|
||||||
return this._modalContent.asObservable();
|
return this._modalContent.asObservable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
get onClose(): Observable<void> {
|
||||||
|
return this._onClose.asObservable();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user