Something went wrong on our end
-
Guillaume Heurtier authoredGuillaume Heurtier authored
update-departure-date-action.component.ts 1.61 KiB
import { Component, OnInit, Inject, ViewChild } from '@angular/core';
import { LANG } from '../../translate.component';
import { NotificationService } from '../../notification.service';
import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
import { HttpClient } from '@angular/common/http';
import { NoteEditorComponent } from '../../notes/note-editor.component';
import { tap, finalize, catchError } from 'rxjs/operators';
import { of } from 'rxjs';
@Component({
templateUrl: "update-departure-date-action.component.html",
styleUrls: ['update-departure-date-action.component.scss'],
})
export class UpdateDepartureDateActionComponent implements OnInit {
lang: any = LANG;
loading: boolean = false;
@ViewChild('noteEditor', { static: true }) noteEditor: NoteEditorComponent;
constructor(public http: HttpClient, private notify: NotificationService, public dialogRef: MatDialogRef<UpdateDepartureDateActionComponent>, @Inject(MAT_DIALOG_DATA) public data: any) { }
ngOnInit(): void { }
onSubmit() {
this.loading = true;
if ( this.data.resIds.length > 0) {
this.executeAction();
}
}
executeAction() {
this.http.put(this.data.processActionRoute, {resources : this.data.resIds, note : this.noteEditor.getNote()}).pipe(
tap(() => {
this.dialogRef.close(this.data.resIds);
}),
finalize(() => this.loading = false),
catchError((err: any) => {
this.notify.handleSoftErrors(err);
return of(false);
})
).subscribe();
}
}