import {Component, Inject} from '@angular/core'; import {FormBuilder, Validators} from "@angular/forms"; import {TaskEntityInfo, TaskRepeatDayInfo, TaskseriesService} from "../../../api"; import {MAT_DIALOG_DATA, MatDialogRef} from "@angular/material/dialog"; import DeadlineStrategyEnum = TaskRepeatDayInfo.DeadlineStrategyEnum; import * as moment from "moment"; @Component({ selector: 'app-task-series-creator', templateUrl: './task-series-creator.component.html', styleUrls: ['./task-series-creator.component.css'] }) export class TaskSeriesCreatorComponent { dailyFormGroup = this._formBuilder.group({ offsetCtrl: ['', Validators.required], deadlineStrategyCtrl: ['', Validators.required] }) endDateFormGroup = this._formBuilder.group({ endDateCtrl: ['', Validators.required] }) constructor(private _formBuilder: FormBuilder, private taskSeriesService: TaskseriesService, @Inject(MAT_DIALOG_DATA) public task: TaskEntityInfo, private dialogRef: MatDialogRef) { } save() { this.taskSeriesService.tasksTaskIDTaskseriesDailyPost(this.task.taskID,{ offset: Number(this.dailyFormGroup.get('offsetCtrl')!.value!), deadlineStrategy: this.convertDeadlineStrategyCtrlToDeadlineEnum(), endingDate: moment( this.endDateFormGroup.get('endDateCtrl')!.value!).format('YYYY-MM-DDTHH:mm:ss.SSSZ') }).subscribe({ next: resp => { this.dialogRef.close(); } }) } convertDeadlineStrategyCtrlToDeadlineEnum() { const deadlineStrategy = this.dailyFormGroup.get('deadlineStrategyCtrl')!.value; if(deadlineStrategy === DeadlineStrategyEnum.EqualStart) { return DeadlineStrategyEnum.EqualStart; } else { return DeadlineStrategyEnum.FitStart; } } }